Skip to content

uzh-bf/thesis-platform

This branch is 86 commits ahead of main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

696dd7d · Feb 24, 2025
Aug 5, 2024
Sep 13, 2023
Feb 24, 2025
Mar 7, 2024
Jan 10, 2025
Dec 5, 2022
Mar 20, 2024
Feb 24, 2025
Nov 21, 2022
Mar 21, 2024
Feb 28, 2024
Mar 13, 2024
Feb 28, 2024
Oct 11, 2022
Sep 13, 2023
Sep 13, 2023
Sep 13, 2023
Nov 9, 2023
Feb 24, 2025
Feb 28, 2024
Oct 19, 2023
Mar 12, 2024
Mar 4, 2024
Sep 13, 2023
Dec 13, 2022
Sep 13, 2023
Mar 28, 2023
Sep 19, 2023
Feb 24, 2025
Feb 24, 2025
Oct 11, 2022
Sep 13, 2023
May 2, 2023
May 2, 2023

Repository files navigation

Thesis-Platform

This project serves as a platform to facilitate the creation, management, and viewing of academic proposals. The system allows users to create new proposals, view proposal details, manage feedback, and update proposal statuses. It categorizes proposals based on their topic area and differentiates between student and supervisor roles, ensuring a clear and organized workflow.

The motivation behind this project is to offer academic institutions an efficient mechanism to simplify the proposal submission, evaluation, and feedback cycles, thereby facilitating a smoother pairing of students with their respective supervisors.

Requirements

Installation

How to install the project:

# Clone the repository
git clone https://github.com/uzh-bf/thesis-platform.git

# Navigate into the directory
cd thesis-platform

# Install dependencies
npm install

❗️Make sure your IP address has access to the database (include IP for Azure DB on Azure).❗️

Usage

# Run the web app in developer mode
npm run dev

The web app should now be visible on https://localhost:5000.

Steps

Deployment

The following instructions will guide you through the deployment process step by step.

Pre-requisites

Your system should have the following installed:

Deployment steps

Here are the steps you'll need to follow for deployment:

  1. Start in the development environment:

    Run the command npm run release:beta:dry to test the setup.

    npm run release:beta:dry
  2. Continue in the development environment:

    Run npm run release:beta to start the deployment.

    npm run release:beta
  3. Still within the development environment:

    Push your changes to the dev branch using git push --follow-tags origin dev.

    git push --follow-tags origin dev
  4. Switch to Github:

    Actions will automatically generate a new Docker image with a new tag (for example, v1.0.0-beta.1).

  5. Now, move to the .env/doppler:

    Update the APP_VERSION environment variable to the new tag (for example, v1.0.0-beta.1).

  6. Go back to the development environment:

    Navigate to the deploy directory using cd deploy/.

    cd deploy/
  7. Check the changes with ./_deploy_prod.sh diff.

    ./_deploy_prod.sh diff
  8. Apply the changes to the production environment using ./_deploy_prod.sh apply.

    ./_deploy_prod.sh apply
  9. Your new version is now deployed to the production environment on https://theses.bf.uzh.ch/.

Restart the app (if only Powerautomate Solution Update)

# Restart the app
kubectl rollout restart -n thesis-platform deployment thesis-platform

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the AGPLv3 - see the LICENSE file for details.