Skip to content

General

tye101 edited this page Dec 6, 2024 · 3 revisions

Academic Team Management

The Academic Team Management application is used to automate many of the facilities of managing a large class of multi-person groups and supports the following use cases:

  1. Creating lists of projects with a title, description, and other metadata
  2. Importing lists of students from Excel
  3. Enabling students to form teams, express interest in projects, express an interest in being matched with other students, etc...
  4. Allowing the professor and TAs to communicate with students using chat
  5. Allowing the professor and TAs to take notes about progress, presentations, etc...
  6. Exporting the data to Excel sheets
  7. Allowing the professor or TAs to input grades

The application is expected to be open-source and allow other professors from different educational institutions to adopt it as their project management system.

For more information check the general and design documents.

Development

Prerequisites

Make sure to have these technologies installed in your system

1. Docker
2. NodeJs
3. Python

Building

Locally

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

Production

For prod development, build using all the services using docker-compose

# To start the app
$ ./gradlew composeUp

# To stop the app
$ ./gradlew composeDown

Testing

Backend Unit Tests

# Unit tests
$ ./gradlew runUnitTests

Frontend Unit Tests

# Unit tests
$ ./gradlew runReactUnitTests

End-To-End Tests

# E2E tests
$ ./gradlew runEndToEndTests

Linting

You can lint the code locally.

$ ./gradlew runReactLint

Deployment

See DevOps section for more information

Documentation and Resources

System Information and Architecture

Project Information from Client

DEVELOPMENT

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.

Running Server

Testing Guide

Devops

Devops Release

ARCHIVE

Historical documents, do not need to read.

Documentation from 2024 Academic Management Team group.

Project Management

Wiki Home 2024

Meetings Info

First Semester Summary 2024

Second Semester Summary 2024

Documentation from 2023 Academic Management Team group.

Design

Devops

RELEASE

General

How to Create a Class List

Progress

Meetings

Updates

Project Management

Deliverables

Deliverable 1

Andre Pitch (Downloadable PDF)

Caroline Pitch (Downloadable PDF)

Laith Pitch (Downloadable PDF)

Deliverable 2

Changelog

The Bet - Meeting Minutes

Winning Pitch

Deliverable 3

Hill Charts

Scope Maps

Weekly Meetings

Clone this wiki locally