Skip to content

Latest commit

 

History

History
183 lines (112 loc) · 5.31 KB

README.md

File metadata and controls

183 lines (112 loc) · 5.31 KB

Master's Information Portal

Repository for the Unicode 2019 - 2020 project Master's Information Portal.

File Structure

.
├── .github/                -> CI/CD Workflow hooks of github
├── config/                 -> Configuration settings of various middlewares used like DB, Loggers, etc
├── constants/              -> Values of various constant strings used in notifications etc.
├── controllers/            -> Contains request handling functions of all routes in respective files
├── docs/                   -> Contains generated docs after build scripts
├── infra/                  -> Contains reusable functions related to encryption,authentication etc.
├── middleware/             -> Contains custom middlewares for authentication, file upload etc.
├── models/                 -> Contains DB models
├── routes/                 -> Files exporting respective routers connecting routes to function in controllers
├── test/                   -> Contains Chai and Mocha tests for routes
├── webapp/                 -> Contains Frontend React pages
├── .env.development        -> .env file for development
├── app.js                  -> Sets up express app with routers, middlewares etc and exports it
├── build.sh                -> Shell script for building fonrtend and backend
├── index.js                -> Connects to DB and starts the server, file to be run for starting the app
└── package.json            -> Npm package.json file

Technology Stack

Backend

  • Node.js v12.18.3
  • Express.js v4.17.1
  • Mongoose v5.8.10
  • Multer v1.4.2
  • Socket.io v2.3.0

Frontend

  • HTML5
  • CSS3
  • ReactJs (16.6+)
  • Material-UI (4.9.0)
  • ES6 JavaScript
  • formik (2.1.3)
  • aos (2.3.4)
  • axios (0.19.2)

Features

Sign Up and Authentication

One can Sign up as either MS pursuing Senior or BE pursuing junior. For Seniors, it takes name, email, field of interests, colleges applied for and college studying in, other profile links, etc.

Chats

Seniors and juniors can chat with each other in real time

Forum

One can ask questions that can be seen and answered by any member in forums. Questions and Answers can be pinned,liked, and upvoted.

Notifications

One gets Notifications of various activities such as Chats, questions and answers in forums, etc

Tags

One can follow various tags , and the person can get recommendations based on the tags that they follow. Tags can be of various topics, subjects and universities. Creation of new tags is only allowed to Admins

Screenshots

Homepage:

Homepage

Login:

Login

Signup:

Signup

Signup

Edit Profile:

Edit Profile

Profile Page:

Profile Page

Profile Page

Search Pages:

Search

Search

University Page:

University

Forum Pages:

Forum

Forum

Forum

Chat:

Chat

Add Resource:

Add Resource

Question Reply:

Question Reply

Team

Developers

  • Heth Gala
  • Jay Mehta
  • Naman Dangi
  • Yash Chachad
  • Yashodhan Joshi
  • Nimit Vasavat
  • Himanshu Sanklecha
  • Siddharth Salvi
  • Yatharth Vyas

Mentors

  • Siddharth Sanghavi
  • Vikrant Gajria
  • Shail Shah
  • Ayush Shah

Build Instructions

Run npm run build for building front-end and back-end. Run npm run start for starting the app.

Development Instructions

  1. We have configured the precommit hook for frontend following the eslint airbnb guidelines along with prettier code formatting. So make sure to follow the above guideline otherwise code will not be commited.

LICENSE

MIT License

Copyright (c) 2020 Unicode

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.