Skip to content
Shah-Saurabh-Gupta edited this page Mar 21, 2021 · 7 revisions

Inspiration Story:

The idea to develop this project came to me during the testing times we saw during COVID-19 virus, when businesses were getting closed due to government restrictions. Many small tuition institutes were forced to close because they couldn't keep open and also did not have much online presence to keep the students engaged. This project was my way to fulfill this shortcoming by using all the methods to keep the website and resources it uses as cheap as possible.

Welcome to the Tutorial-Institute-Website-Backend Wiki!

The Wiki of Frontend is below it

Project Status: Complete

Hosted On: Heroku

Project URL: https://tutorial-website-backend.herokuapp.com/

It is the wiki about the backend of the Tutorial Institute Website. The backend of the same is a private repository due to presence of some sensitive info in it. So I am writing the information about it in this one. The backend is made using following:

  • MongoDb atlas for storing the database in cloud.
  • Express for routing.
  • NodeJS for installing various node modules.
  • It contains 3 collections in its rootDB named as 'user', 'notice', 'files'.
  • We can register a new user, login a existing user, fetching all the users, fetching users by ID, edit info of the user, deleting a user and checking whether a particular user token provided by jsonwebtoken is valid or not in 'user' collection.
  • We can upload a new notice or fetch all the notices or deleting a particular notice in 'notice' collection.
  • We can upload, delete, edit, fetch all files, fetch files by ID in 'files' collection.

Modules Used are as follow:

  • Express: It is used for routing.
  • Mongoose: It is used to connect to MongoDb Atlas Cloud.
  • Jsonwebtoken: It is used to provide signed tokens to the logged in user.
  • Bcryptjs: It is used to encrypt the password entered by the user by hashing algorithm.
  • Dotenv: It is used to store the important credentials in env file.
  • Cors: It is used for cross origin resource sharing.
  • Multer: It is used for uploading file resources like pdf's, jpeg's, doc's etc.
  • Cloudinary: It is used to store the file resources on cloud while storing the secure URL to them on MongoDb Atlas instead of storign the files in the code itself.

It is also using 2 dev dependencies namely Nodemon to auto run the server whenever something new get saved and Concurrently which is used to run 2 scripts simultaneously.


Welcome to the Tutorial-Institute-Website-Frontend wiki!

Project Status: Complete

Hosted On: Netlify

Project URL: https://angry-archimedes-4e3286.netlify.app/

It is the wiki about the frontend part of Tutorial Institute Website. It is made using following:

  • The frontend is made using reactjs.
  • It is using local storage to store token coming from backend and using context api along with hooks to maintain the state for login logout sequence.
  • The CSS part is done using tailwind CSS.
  • It is using Emailjs to send emails to the admin's email address directly from the frontend in contact us page.
  • It contains various pages like Home, Gallery, Contact Us, Notices, Notes, Testimonials Page, Login, Student Panel and Admin Panel Pages.
  • In Notices page the user can see all the notices uploaded by the admin in chronological order starting from latest.
  • In Notes page the user could see and download all the free resources like jpeg, png, docs, pdf files uploaded by the admin.
  • In the Admin Panel, admin could register, edit, view credentials, delete any student. He can also upload, delete any new file or notice.
  • In the Student Panel, each student can view and download the resources uploaded by the admin which are specific to his batch only. These resources are not publicly visible.
  • In Contact Us page any person could directly send any query or message to the admin's email.
  • Protected routes are also used for preventing unregistered user's access to specific routes of admin and students.

Modules Used are as follow:

  • Reactjs
  • Tailwind: For css
  • Emailjs: To send email directly from frontend
  • Axios: For handling API requests from frontend and backend.
  • React-Router-Dom: For Routing