Skip to content

DPA-SJSU/Degree-Planning-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Degree Planning Assistant

A 3-tier web application that allow SJSU students monitor and schedule their degree plans to meet graduation requirements.

PRs Welcome GitHub language count Top Language GitHub contributors

DPA gif demo

🌟 Features

  • 🙍🏻‍♀️ Sign-up/Login with DPA
  • 🔏 Protect your data with JWT authentication
  • 🏦 Scan your SJSU Transcript and get all taken semesters in nice format
  • 📑 Drag & Drop Courses to desired semesters
  • 💳 Show impaction and difficulty of courses and semesters
  • 💵 Show all remaining courses/areas needed to meet all graduation requirements

✅ Getting Started

📍 Requirement

What things you need to install the software and how to install them

  • Node.js
  • Angular CLI
  • npm registry
  • Github
  • VSCode OR ...anything you like.
  • Postman: this will allow you test your API (GET, POST, PUT, DELETE, etc.) without using frontend
  • IMPORTANT - GCloud Key - you need to ask us permission or send us an email at dpa.sjsu@gmail.com so we can send you the GCloud OCR key to get the transcript parser to work.

⚒️ Installation

# Clone this repository
$ git clone https://github.com/DPA-SJSU/Degree-Planning-Assistant.git

# Go into the repository
$ cd Degree-Planning-Assistant

💻 Client Start-up

# Install Angular CLi
$ npm install -g @angular/cli

# Install dependencies
$ cd client && npm i

# Start client on localhost:4200
$ npm start

Database Setup

# Open a new terminal to install, start MongDB Local
$ npm run mongo:install
$ npm run mongo:start
$ npm run mongo:dev

⌨️ Server Start-up

# Install dependencies
$ cd server/ && npm i

# Add GCloud Key to get scanning function to work - PLEASE CHECK REQUIREMENTS
$ touch cloud-ocr-key.json

# Start server at localhost:8080/
$ npm run dev

📊 Project Storyboard: DPA

📂 Technologies Used

Frontend

Backend

⚙️ Testing

# Test server using Mocha.js unit test
cd server
$ npm run test

Project Structure

DPA
 ├── client
   ├── e2e                  — Builds and serves the app then runs end-to-end tests
   ├── src
      ├── app               — Contains the source code of components
      ├── assets            — Static asset files (.png, .gif, etc.)
      ├── environment       — Environment configurations
      ├── main.ts           — Entry point of the application
      ├── index.html        — Main index file
   └── package.json         — Client Config
 └── server
   ├── controller           — Storing APIs of the server
   └── database
        ├── model           - init all DB models
        └── schema          - init schema for each model
   └── store
        ├── Scanning        - Consist the logic of Transcript OCR
        ├── passport.js     - user authentication with passport JWT
        ├── utils.js        - contains supporting functions
        └── config.js       — storing your configuration attribute
   ├── .eslintrc            — config ESLint Airbnb Coding Style
   ├── .babelrc             — migrate ES6 -> ES5
   ├── .prettierrc          — prettier config
   ├── package.json         — Server Config
   ├── app.yaml             — GCloud config for prod deployment
   └── app.js               — Everything a server needs to start
├── .gitignore
└── README.md

⭐️ Authors

👨🏻‍💻 Calvin Nguyen - calvinqc

👩🏻‍💻 Elana Olson - ellamaolson

👨🏻‍💻 Dale Seen - daleCS

See also the list of contributors who participated in this project.

License

Use of this source code is governed by an MIT license.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •