Skip to content

Microsoft Engage 2021. 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.

License

archeelp/Microsoft-Engage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Microsoft Engage 2021

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
  1. About The Project
  2. Getting Started
  3. Usage
  4. Screenshots
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

Product Name Screen Shot

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

Edit with Gitpod

(back to top)

Built With

babel css3 express heroku html5 javascript mongodb nodejs react tailwind

  • Node.js
  • Express
  • MongoDB
  • React
  • Tailwind CSS
  • HTML5
  • CSS3
  • JavaScript
  • Babel
  • Git
  • Heroku
  • Netlify
  • Docker
  • Hacker Earth

(back to top)

Getting Started

Have NodeJS and MongoDB installed on your machine.

Prerequisites

  • npm
    npm install npm@latest -g

Installation

Follow the below instructions to clone the repo and start the backend and frontend server.

  1. Get a free HackerEarth API Key at https://www.hackerearth.com/login/?next=/api/register/
  2. Clone the repo
    git clone https://github.com/archeelp/MicrosoftEngage.git
  3. 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=
  4. Add your Hacker Earth API key in the .env file
  5. Install NPM packages for backend
    npm install
  6. Start the backend server
    npm run dev
  7. Open a new terminal and go to frontend directory
    cd frontend
  8. Install NPM packages for frontend
    npm install
  9. Start the frontend server
    npm run start
  10. Both backend and frontend servers are up and running, you can view your website on http://localhost:3000

(back to top)

Usage

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

(back to top)

Screenshots

Landing Page

Light Mode

Landing Page Dark

Dark Mode

Landing Page Dark

SignIn Modal

Signin

Register Modal

Register

Student

Course Invite Link

Course Invite

Enroll in Course

Enroll

Enrolled Courses

Enrolled Courses

Course Page

Enrolled Courses

Assignments

Assignments

Submit Assignment

Submit Assignment

Select Programming Language

Submit Assignment

Assignment Auto Graded

Assignment AutoGraded

Register For Lecture - Vaccination Criteria Does Not Match

Register

Register For Lecture - Vaccination Criteria Matches

Register

Teacher

Manage Courses

Manage Courses

Create/Edit Course

Create/Edit Course

Course Page

Enrolled Courses

Enrolled Students List

Enrolled Students

Create Lecture

Create Lecture

Lectures

Lectures

Download Attendance Report For Lecture

Download Attendance

Attendance Report

Attendance Report

Create Assignment

Assignment

Create AutoGraded Assignment

Assignment

View Submissions

Assignment

View Submission and view/change Grade

Assignment

Profile

Profile

Daily Schedule

Schedule

Mobile Compatible And Responsive

Responsive

Backend Swagger Documentation

Swagger

Light House Report

LightHouse

(back to top)

Roadmap

  • Add Scheduler Feature
  • Add Assignment Feature
  • Add Community Chat Feature

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Archeel Parekh - @archeel-parekh

Project Link: https://github.com/archeelp/MicrosoftEngage

(back to top)

Acknowledgments

(back to top)

About

Microsoft Engage 2021. 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.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published