Giter Club home page Giter Club logo

educollab's Introduction

EduCollab: A MERN Stack Project

Description

EduCollab is a web application aimed at enhancing the educational experience by providing a platform for students to collaborate, showcase their projects, and connect with peers. It facilitates sharing knowledge, receiving feedback, and exploring new opportunities in academia.

Tech Stack Used

  • MongoDB: NoSQL database for storing user data and project information.
  • Express.js: Backend web application framework running on Node.js.
  • React: Frontend library for building the user interface.
  • Node.js: JavaScript runtime environment for executing server-side JavaScript code.

User Research

User research was conducted to understand the needs and challenges faced by students in collaborating and sharing their academic projects. Insights gathered from surveys and interviews helped in shaping the features and functionalities of EduCollab.

Future Updates

Planned updates include:

  • Implementation of wish-list including liked projects, courses, and profiles.
  • Implementation of dynamic search feature for projects, courses, and profiles.
  • AI based doubt solving.
  • Enable project owner to approve or reject requests for collaborator access to the project.
  • Integration with educational resources and APIs.
  • Mobile app enhancements for better user engagement.

Different Pages

  • Project Showcase: Detailed view of projects with comments and rating support.
  • Profile Page: Where students can showcase their skills and projects.
  • Chatroom: Chat with other students on collaborated projects.
  • Course Review Page: For sharing and reading course reviews.
  • Doubts Page: A platform for asking for help and sharing knowledge.

Features

  • Average rating and feedback system for projects and courses.
  • Implement a 'request for assistance' feature that displays diverse responses, empowering users to upvote or downvote each answer.
  • Launch a decentralized credit system assigning initial credits to new users, enabling credit growth through net positive upvotes on answers or successful collaborative project completion, with individual project credits capped at 10% of the project owner's total credits.
  • Anti-spam engine to maintain a clean environment by implementing OAuth2.0 and restricting number of comments or answers on projects or doubts respectively.
  • Introduce a project-specific chat room enabling real-time communication among all collaborating users of a particular project.

User Interface

The user interface is designed to be intuitive and user-friendly, emphasizing ease of navigation and accessibility. It includes responsive design for compatibility with various devices and screen sizes.

Installation and Setup

  1. Prerequisites:

    • Node.js and npm installed.
    • MongoDB set up either locally or in the cloud.
  2. Clone the Repository:

    git clone https://github.com/Nikhil-IITG/KritiDevelopmentPS.git
    cd KritiDevelopmentPS
  3. Backend Setup:

    • Navigate to the backend directory.
    • Install dependencies:
      cd backend
      npm install
    • Start the server:
      npm start
  4. Frontend Setup:

    • Navigate to the frontend directory.
    • Install dependencies:
      cd frontend
      npm install
    • Start the React app:
      npm start
    • The application should now be running on http://localhost:3000.
  5. Environment Variables: Make a file named .env in the backend folder, it's content should be:

     MONGO_URI = "mongodb+srv://Nikhil:[email protected]/?retryWrites=true&w=majority"
     CALLBACK_URL = "http://localhost:5500/auth/microsoft/redirect"
     CLIENT_ID = "Your Microsoft Client ID"
     CLIENT_SECRET = "Your Microsoft Client Secret"
     GOOGLE_APPLICATIONS_CREDENTIALS='./edu-colab-kriti-firebase-adminsdk-7xiu0-3731e68b10.json'
     CLOUD_NAME='du1g4j6f8'
     CLOUD_API_KEY='775349273443457'
     CLOUD_API_SECRET='LpwP-jH6DnhyvVieJ5nfbPKp2wI'

Web Application Snippets

  1. Microsoft Authentication

microsoft-authentication

  1. Dashboard displaying all projects as well as your own projects

dashboard

project-page-with-all-projects

project-page-with-my-projects

  1. Detailed Project pop-out displaying the project owner, project description, Project Reviews, Techstacks used, Link to join project community and the amount of per head credits to be rewarded

detailed-project-popout

  1. Collaborated projects community with real-time chatting feature providing a smooth and healthy discussion about the project

collabs-page

real-time-chat

  1. Course Display Page

course-page

course-display

  1. Detailed Course pop-out displaying the course name, course details, review and feedbacks of the course from your very own campus-mates and the link to buy or get the course

detailed-course-popout

  1. An Ask-for-help page which enables you to post your doubt or answer other users doubts regarding your project, your college course, or any general doubt. It also allows you to upvote or downvote an answer so that you can get the best answer for your query

doubts-page

upvote-downvote

educollab's People

Contributors

maharsh04 avatar kruthikesh avatar vishnujangid4564 avatar yoyobuzz avatar nikhil-iitg avatar krashnakrashna avatar

Forkers

shashank4628

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.