Skip to content

GaganpreetKhurana/CodeZone

Repository files navigation

Major Project

CodeZone -* The complete solution for programming and development classrooms*

Group - 18

Mentor - Mr.Sachin Chaudhary, Assistant Professor, Punjab Engineering College, Chandigarh

Developers:

  • Vishal Thakur - 18103007
  • Gaganpreet Singh Khurana - 18103032
  • Shayan Yaseen - 18103033
  • Akshit Garg - 18103042

Run Instructions

1. Run Instructions For CodeZone-Backend:-

  • Clone the above repository.
  • Move to backend folder cd backend
  • Use command npm install to download the dependencies.
  • Install setup and link mongodb to the database Documentation
  • Give command nodemon index.js that will start the backend server.
  • Open New Terminal and give command nodemon server.js to run code editor server.
  • Open New Terminal and give command nodemon chatServer.js to run Chat Functionality.
  • On any browser visit localhost:8000 you will see the content there

2. Run Instructions For CodeZone-Frontend:-

  • Clone the above repository.
  • Move to frontend folder cd frontend
  • Use command npm install to download the dependencies.
  • Give command npm start that will start the frontend server.
  • On any browser visit localhost:3000 you will see the content there

3. Instructions to perform Unit/ Integration Testing:-

  • Clone the above repository.
  • Move to frontend folder cd frontend
  • Use command npm install to download the dependencies.
  • Give command npm test.

Objectives:

Features -
  1. Students can write, compile, run and post their codes.
  2. Teachers can review and edit the codes in real time.
  3. Teachers can create and evaluate assignments.
  4. Plagiarism check for submitted assignments.
  5. Evaluation report generated for the teachers.
  6. Chat functionality to connect teachers and students.
  7. All assignments would be stored on cloud for easy access by the students.
  8. Forum for discussions and doubts.

Progress:

** Agile Working Methodology **

1 August 2021 - 16 August 2021

Team formation and Mentor Selection:

  • Team Member Selection.
  • Preliminary domain shortlisting
  • Approaching the mentor with related domain specialization

15 August 2021 - 5 September 2021

Project Discussion

  • Our Preliminary domain was shortlisted to a Web based project
  • Among many other ideas, we decided to build an application which is a real time web application where teachers can conduct programming labs for students, guide them for any programming errors by looking at their live code

5 September 2021 - 25 September 2021

Framework Training and Initial Commits

  • We decided to use Nodejs for the backend and React for the frontend
  • An appropriate period was used to learn the new framework
  • The project was divided into two modules backend and frontend
  • The two sub-modules were developed to provide basic features in this period
  • Integration of the modules was absent in this period
  • This allowed us to avoid errors in integration when the codebase was turbulent

25 September 2021 - 5 October 2021

Module Integration

  • With basic features working in each module, we integrated the project in this period
  • This included debugging the integration errors and standardizing the codebase
  • Completed the login and authentication features
  • Working Features -
    • Teachers can create and evaluate assignments.
    • Chat functionality to connect teachers and students

5 October 2021 - 25 October 2021

Feature Expansion

  • Most of the basic features are working in this stage
  • The chat functionality , which was working standalone on the backend, was now integrated with the frontend
  • Issued several bugs fixes in the modules and integration

25 October 2021 - 5 December 2021

Feature Development

  • Discussion Portal & Chat Functionality

    • Teachers can post learning materials on the classroom discussion portal. Students can post their doubts on the forum.
  • Live Code Editor

    • The user could share the editor on which they are working on by share the URL. Another user could just open the link to view what the first user was working on. They could also edit and run the code which they are working on.

5 December 2021 - 15 January 2022

Feature Enhancement

  • Chat completion - Chat functionality to connect teachers and students is fully functional
  • Lab reports - Teachers can download lab/assignments reports
  • UI rebuild - The UI is modified and made more user friendly

15 January 2022 - Present Feature Testing & Enhancement

  • Testing

    • To ensure quality by testing the functionality of our application and to check whether it is working as intended or as per the requirements.
    • It allowed to find bugs at any given time or prior to a release.
  • Quiz Section

    • Integrated quizz/test feature for teacher to conduct evaluation