Student Toolbox is a web application designed to make student life easier by organizing their schedule, calculating their grades, and managing the tasks that they need to complete.
These instructions will get you a copy of Student Toolbox up and running on your local machine for development and testing purposes.
Install the following software:
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
-
Installation instructions are available on the download page.
-
Verify installation with:
node -v
- npm: Node package manager, included with Node.js.
- Verify installation with:
npm -v
- Git: A version control system for tracking changes in source code.
-
Installation instructions are available on the download page.
-
Verify installation with:
git --version
- A modern web browser: Such as Google Chrome or Mozilla Firefox.
- An Integrated Development Environment (IDE): Such as Visual Studio Code.
A step-by-step series of examples that tell you how to get a development environment running:
-
Fork the repository
-
Clone the forked repository
-
Install dependencies:
npm install
npm run dev
We use a MongoDB Atlas cluster to store user data:
- Contact a team member to get the connection string.
- Add the connection string to your
.env.local
asMONGODB_URI=<connection string>
. - Modify the
User
schema in/lib/mongodb/mongodb.js
to specify the data types you want to store. - Use the Mongoose API to push changes to the database.
- Install mongosh (CLI) or MongoDB Compass (GUI) to inspect database contents.
We use Auth.js to provide authentication and session management:
- Contact a team member to get the authentication secret
- Add the secret to your
.env.local
asAUTH_SECRET=<secret>
. - To register a new user, navigate to
/register
and enter a username and password. - To sign in, use the button in the sidebar and enter user credentials.
Please read the contributor guidelines for details on contributing and the code of conduct for expected behaviour.
- Full calender (Official documentation of the calender component used in the time table page)
- Google map api For the campus map functionality to work correctly, add NEXT_PUBLIC_GOOGLE_MAPS_API_KEY to .env file. And ensure that 'Routing', 'Places API' and 'Google Maps JavaScript API' are enabled.
Versioning system: Semantic versioning Version control: Git