/se2023-15-thesis-management

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Thesis Management System

The Thesis Management System is a web application that allows students to submit their thesis proposals and faculty to review and approve them.

[ Release ] Instructions for install and boot the application in Docker

0) Prerequisites

1) Start Docker Desktop

Make sure Docker Desktop is running on your machine.

If not, start it.

This will ensure that the Docker daemon is running and that you can use the Docker CLI.

2) Get .env and docker-compose.yml files from email attachment

The .env is not publicly provided because they can contain sensitive information.

For this reason we will send you the .env via email, along with the docker-compose.yml file and users credentials.

We also provide the docker-compose.yml file because it contains the configurations for pulling, building and running all the images that compose the application.

In fact, the Thesis Management System application is composed of three fundamental parts:

  • the frontend server
  • the backend server
  • the database server

Each one of these parts is a Docker image that can be built and run independently, and they are publicly available on Docker Hub respectively at the following links:

However, to simplify the process, we provide the docker compose file that allows you to build and run all the images at the same time.

You will receive the two files a .zip file attached to an email.

Simply unzip the file, you will find the two files inside the directory that will be created, named "se2023-15-release".

3) Boot the application

Open the terminal and go to the newly created directory, named "se2023-15-release", running the following command:

cd se2023-15-release

Then, to pull and build the images and run all the application's containers, simply run the following command:

docker-compose up -d

4) Access the application

The application is now running on the port specified in the .env file.

To access the application, open a browser and go to the following URL:

http://localhost:3000

Login credentials will also be provided via email because they are sensitive information.

Create a .env file with these informations in the root directory

REACT_APP_BACKEND_SERVER_PORT=
FRONTEND_PORT=
DB_PASSWORD=
DB_USER=
DB_HOST=
SMTP_USERNAME=
SMTP_PASSWORD=

Starting using docker

Make sure you have Docker Compose installed.

Modify .env file :

DB_HOST=db

Run the command

docker compose up -d

Here you are ! :)

NOTE : To list all containers :

docker ps -a

To list all images :

docker image ls 

Installation and Booting

Backend server

Go to the backend folder with the following command:

cd backend

From this folder, run the following commands:

npm install
npm start

This will install all the dependencies and start the server on port 8080.

Please refer to the README.md in the backend folder for more details about the development mode, testing, code coverage, and API documentation.

Frontend server

Go to the frontend folder with the following command:

cd frontend

From this folder, run the following commands:

npm install
npm start

This will install all the dependencies and start the server on port 3000.

Please refer to the README.md in the frontend folder for more details about and API interface, pages and components.