-
Notifications
You must be signed in to change notification settings - Fork 0
Onboarding
Last updated 06/12/2024
The basic system consists of 3 main components as demonstrated by the diagram above. A web front-end written in React, an API written in Python using the flask library, and a no-SQL database using mongoDB

The front-end is located in the ./client directory.
The api is located in the ./server directory. The path ./server/app stores most of the code for the api, and is broken into three categories of file: entities, models, and controllers, the functions of which are demonstrated below.

Database architecture is represented by the following diagram.
Database is always stored on the local machine. In a development context, this means on the developer's machine, while in a production context, it is the virtual machine running off of a server. There is currently no way to transfer database data between machines through the app.
The database refers to Azure Entra ID (previously Active Directory) INSERT LINK for login authentication in all contexts. This means that erasing the user table may cause problems for developers as it will lock them out. This can be circumvented using API calls to add users directly INSERT INSTRUCTIONS. the user table is linked to Entra ID by email address.
Make sure to have these technologies installed in your system
1. Docker
2. NodeJs
3. Python
git clone https://github.com/umple/AcademicTeamManagement.git
cp .env.template .envIn .env, add credentials to:
MONGODB_INITDB_ROOT_USERNAME=
MONGODB_INITDB_ROOT_PASSWORD=
PRIVATE_KEY=
For local development, try to build each service individually
# Build the database first
$ ./gradlew startMongo
# Build the server, make sure to add the password of the DB in the ./scripts/runBackendTests.sh file
$ ./gradlew runBackendLocally
# Build the frontend
$ ./gradlew runFrontendLocally
*Ensure the docker service is running using systemctl start docker.service.
The respective run scripts are written in bash and can be found in ./scripts.
For prod development, build using all the services using docker-compose
# To start the app
$ ./gradlew composeUp
# To stop the app
$ ./gradlew composeDownSee DevOps section for more information
Refer to the testing guide.
Documentation and Resources
Follow links for local development and helpful information.
Onboarding Material MUST READ!!! Essential information to get started with the project.
React App How to get started with web application project using Create React App.
Historical documents, do not need to read.
Project Management
Deliverables
Deliverable 1
Andre Pitch (Downloadable PDF)
Caroline Pitch (Downloadable PDF)
Laith Pitch (Downloadable PDF)
Deliverable 2
Deliverable 3