MongoDB, Expressjs, React, Nodejs
The software facilitates managing the entire registration and admission procedure of students. There are categories of user Admin, Faculty and Student . Users can register, login and view the student profiles based on permission level of account used.
$ git clone https://github.com/prajyotzankar/attendance-mern.git
Underdevelopment
frontend/
package.json
.env (create you own .env, check [prepare your secret session])
public (default files created by create-react-app)
src/ (Frontend code of project)
components/
-[x] Authentication/
-[x] Forgot Password
-[x] Login
-[x] Registration
-[x] ShowStudentInfo (filter students by school, course, year and list by PRN)
-[x] StudentAdmitForm
backend/
package.json
.env (create you own .env, check [prepare your secret session])
public (default files created by create-react-app)
src/ (Frontend code of project)
-[x] middleware (eg. JWT verify, Send Email)
-[x] models (Mongo models)
-[x] routes (This holds all of our HTTP to URL path associations for each unique url)
- MongoDB Atlas
- Node ^16.15.1
- npm
You need client and server runs concurrently in different terminal session, in order to make them talk to each other
$ cd frontend // go to client folder
$ npm i // npm install packages
$ npm start // run it locally
// deployment for client app
$ npm run build // this will compile the react code using webpack and generate a folder called docs in the root level
$ npm run start // this will run the files in docs, this behavior is exactly the same how gh-pages will run your static site
attendance_mern.demo.mp4
You need to add follow variables in .env:
- ATLAS_URI - MongoDB Atlas
- JWT_SECRET_KEY
- JWT_KEY_EXPIRE
- FRONTEND_AUTH_URL - ${Client_BASE_URL}/authentication
- Send Email variables
- EMAIL_SERVICE
- EMAIL_USERNAME
- EMAIL_PASSWORD
- EMAIL_FROM
$ cd server // go to server folder
$ npm i // npm install packages
$ npm server // run it locally
$ npm run build // this will build the server code to es5 js codes and generate a dist file
Client-side | Server-side |
---|---|
axios: ^0.27.2 | bcryptjs: ^2.4.3 |
bootstrap: ^5.1.3 | jsonwebtoken: ^8.5.1 |
react: ^18.2.0 | cors: ^2.8.1 |
react-dom: ^18.2.0 | dotenv: ^16.0.2 |
react-router-dom: ^6.3.0 | express: ^4.18.1 |
react-scripts: ^2.1.3 | mongoose: ^6.4.4 |
web-vitals: ^2.1.4 | nodemailer: ^6.7.8 |
Create new Issues (preferred)
Email Me: zankarprajyotsushil@gmail.com (welcome, say hi)