gcivil-nyu-org / INET-Monday-Fall2023-Team-3

2 stars 4 forks source link

master: Build Status Coverage Status
develop: Build Status Coverage Status

Overview

"SMOOTH" is a task and dependency management program designed to streamline curriculum planning at NYU. Users can create nodes representing tasks or courses and establish dependencies between them by drawing edges. This allows for an intuitive visualization of curriculum structure and dependencies.

Getting Started

Prerequisites

Installation

  1. Clone the repo
    git clone https://github.com/gcivil-nyu-org/INET-Monday-Fall2023-Team-3.git
  2. Install python packages
    cd backend
    pip install -r requirements.txt
  3. Install frontend packages
    cd frontend
    npm install
  4. Build frontend project
    cd frontend
    npm run build
  5. Copy frontend files to backend
    mkdir backend/static
    cp -r frontend/build/* backend/static
  6. Migrate Django database
    cd backend
    python manage.py migrate
  7. Load predefined data
    cd backend
    python manage.py loaddata predefined_courses
  8. Run server
    cd backend
    python manage.py runserver

Project Structure

.
├── backend                     : backend Django server
│   ├── app                     : default Django app
│   ├── edge                    : app that handles edge related operations
│   ├── graph                   : app that handles graph related operations
│   ├── node                    : app that handles node related operations
│   ├── static                  : empty folder, put compiled frontend inside this folder
│   ├── user                    : app that handles user related operations
├── frontend                    : frontend react application
│   ├── src                     : react src
│   │   ├── components          : components on webpage
│   │   │   ├── node            : components used for node related operations
│   │   │   ├── user            : components used for user related operations
│   │   │   ├── welcome         : components used on the welcome page
│   │   ├── utils               : utils for frontend project
│   │   ├── views               : page components