A functional prototype of a platform that gives students an array of digital academic and social tools to stay engaged with their studies, peers and broader university community during pandemic.
Explore the backend API docs »
View deployed website »
View Video Demo
·
Report Bug
·
Request Feature
Table of Contents
This a functional prototype of a platform that gives students an array of digital academic and social tools to stay engaged with their studies, peers and broader university community during pandemic.
Features:
- Teachers and students can register and login to the platform
- Teachers can create and manage their own courses
- Teachers can generate and share the course invite link
- Students can join the course with course invite link
- Students and Teachers can view the course content
- Teachers can create lectures with offline lecture registration, offline capacity, online lecture link and minimum vaccination criteria required
- Students can register for offline lectures if they meet the minimum vaccination criteria
- Teachers can download the offline lecture attendance report
- Teachers and Students can view daily schedule
- Teachers can create and grade programming assignments
- Students can submit programming assignments
- Teachers and Students can view programming assignment submissions
- Automated grading of programming assignments with multiple programming languages supported
- Automated grading of programming assignments based on test cases matched in programs output
- Dark and Light Mode Supported
- Teacher and Students can manage their profile
- Teacher and Students can view daily schedule
- Responsive Design
- Mobile Friendly
- PWA (Progressive Web App) Supported
- Node.js
- Express
- MongoDB
- React
- Tailwind CSS
- HTML5
- CSS3
- JavaScript
- Babel
- Git
- Heroku
- Netlify
- Docker
- Hacker Earth
Have NodeJS and MongoDB installed on your machine.
- npm
npm install npm@latest -g
Follow the below instructions to clone the repo and start the backend and frontend server.
- Get a free HackerEarth API Key at https://www.hackerearth.com/login/?next=/api/register/
- Clone the repo
git clone https://github.com/archeelp/MicrosoftEngage.git
- Create a new .env file in root directory(.example.env file given for reference)
PORT=4000 SECRET_KEY=YTTv7tt87bri3yvirf768 MONGODB_URI=mongodb://localhost/MicrosoftEngage HACKEREARTH_SECRET_KEY=
- Add your Hacker Earth API key in the .env file
- Install NPM packages for backend
npm install
- Start the backend server
npm run dev
- Open a new terminal and go to frontend directory
cd frontend
- Install NPM packages for frontend
npm install
- Start the frontend server
npm run start
- Both backend and frontend servers are up and running, you can view your website on http://localhost:3000
Complete list of all the endpoints and their usage examples. API Documentation
Deployed website. Deployed Website This website can be used by teachers and students to create lectures, register for lectures, view lectures, view daily schedule and download attendance report, create assignments, automated grading of programming assignment based on testcases, grade assignment.
For getting started with project, please refer to the Installation
- Add Scheduler Feature
- Add Assignment Feature
- Add Community Chat Feature
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Archeel Parekh - @archeel-parekh
Project Link: https://github.com/archeelp/MicrosoftEngage