45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
# XP-System
|
|
|
|
This school project is for my teacher to have students log in and check out their XP and assignments.
|
|
This website application is not available online, this is just a locally run website at our school.
|
|
To create a teacher, it must be done by a site admin.
|
|
|
|
You'll need to create the site admin in the database in a collection called users,
|
|
and insert a document via MongoDB Compass. Format the document as shown:
|
|
`{
|
|
"role": "Admin",
|
|
"name": your name,
|
|
"email": your email,
|
|
"password": your encrypted password
|
|
}`
|
|
|
|
Replace `your name` with the name you specify, `your email` with the email you would like to use to login,
|
|
and replace `your encrypted password` with your [Encrypted Password](###Encrypting Your Password)
|
|
|
|
The ID for your admin document should be auto generated by MongoDB Compass when you `insert` the document.
|
|
|
|
### Requirements :
|
|
1. [Node.js](https://nodejs.org/en/)
|
|
1. [MongoDB](https://docs.mongodb.com/manual/administration/install-community/)
|
|
|
|
### Getting Started with Code :
|
|
1. Set up MongoDB on your computer.
|
|
2. Clone repo from https://github.com/Braeden57/XP-System.git
|
|
3. Run `npm install` to install dependencies.
|
|
4. Duplicate `.env.example` and rename the new file to `.env`. Edit to your configurations.
|
|
1. Run `npm start` to boot up server.
|
|
1. Go to http://localhost:8080. Or Whatever you set it to in the `.env` file.
|
|
|
|
### Setting up MongoDB
|
|
1. Install mongodb and follow the setup steps.
|
|
1. [Step by step instructions](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows)
|
|
|
|
### Accessing the Database
|
|
1. Locally this will use any db you set the DB_URI to in the `.env` file.
|
|
1. You can use MongoDB compass app to view the db and edit any information stored.
|
|
2. Or connect it to an external db by changing the DB_URI in the `.env` to your db key.
|
|
|
|
### Encrypting Your Password
|
|
1. To encrypt your password while creating the admin account. Go into the `config` folder,
|
|
1. follow the instructions in encrypt.js and run encrypt.js via node `node encrypt.js`
|