CS307-Petes-Plan
CS 307 - Software Engineering
Creators: Cole, Shivani, Chloe, Patricia, and Anushka
Description
This project was created for CS 30700: Software Engineering at Purdue University.
The purpose of the project is to compile many of the resources students use for course planning into a single application that streamlines the process, making it easier and faster to create a degree plan and to modify it as you go.
The project is now being continued independently here.
Running
Install node.js
, and optionally docker
Client
cd
into the client
folder
Installing and updating packages
To update packages, such as when new dependencies are added, run npm i
To install a package from npmjs
, run npm i {package_name}
- Note: some packages (such as material UI) may not have been updated for the latest version of React.
Installing these may require adding the
--legacy-peer-deps
flag. (e.g.npm i --legacy-peer-deps
)
Running the client
Run npm run dev
inside the client
folder
Server
cd
into the server
folder
Copy the .env.example
file to a new file called .env
Installing and updating packages
To update packages, such as when new dependencies are added, run npm i
To install a package from npmjs
, run npm i {package_name}
Running the server
Run npm run dev
or node index.js
inside the server
folder
Docker
Docker allows you to run a local database and mail server.
Running docker
Run docker compose up
inside the root folder.
You can also specify the -d
flag to run in the background (docker compose up -d
)
- To stop the server, run
docker compose down
MailHog
MailHog is a fake email server useful for local development. The following ports are used:
localhost:1025
is the SMTP mail server for sending emails tolocalhost:8025
is a web interface for viewing the sent emails in your browser
MongoDB
The local MongoDB instance is exposed on localhost:27017
. The admin username is root
and the admin password is hunter2
Mongo Express
Mongo Express is a web interface for browsing the contents of the mongoDB database. It is located at localhost:8081