Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ritesh22201/doubtshare-real-time-doubt-solving-platform
DoubtCleared is an interactive, real-time doubt-solving platform where students can seek assistance for any subject in their preferred language. Our dedicated tutors are ready to provide prompt and effective solutions, ensuring a seamless learning experience for every student.
https://github.com/ritesh22201/doubtshare-real-time-doubt-solving-platform
chakra-ui expressjs mongodb node-cron node-mailer nodejs reactjs redux socket-io
Last synced: 7 days ago
JSON representation
DoubtCleared is an interactive, real-time doubt-solving platform where students can seek assistance for any subject in their preferred language. Our dedicated tutors are ready to provide prompt and effective solutions, ensuring a seamless learning experience for every student.
- Host: GitHub
- URL: https://github.com/ritesh22201/doubtshare-real-time-doubt-solving-platform
- Owner: ritesh22201
- Created: 2023-11-10T13:54:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-14T07:55:19.000Z (about 1 year ago)
- Last Synced: 2024-12-03T05:31:29.699Z (2 months ago)
- Topics: chakra-ui, expressjs, mongodb, node-cron, node-mailer, nodejs, reactjs, redux, socket-io
- Language: JavaScript
- Homepage: https://doubt-share.vercel.app/
- Size: 2.69 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DoubtsCleared
## Real-time doubt solving platform
A real-time doubt solving platform application built using React.js, Redux.js, Node.js, Express.js, MongoDB, Socket.io, node-cron, node-mailer and Chakra UI.
## Live Demo Link
[Live Link](https://drive.google.com/file/d/1wqqV2yJbsP2_tSA6hvhZmMTbUpAx415C/view?usp=sharing)
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Backend](#backend)
- [Frontend](#frontend)
- [API Documentation](#api-documentation)
- [Database Schema](#database-schema)
- [Configuration](#configuration)
- [Deployment](#deployment)
- [Screenshots](#screenshots)
- [Contact](#contact)
- [Acknowledgments](#acknowledgments)## Introduction
DoubtCleared is an interactive, real-time doubt-solving platform where students can seek assistance for any subject in their preferred language. Our dedicated tutors are ready to provide prompt and effective solutions, ensuring a seamless learning experience for every student.
## Features
- User authentication with OTP verification and jsonwebtoken
- Crud Operations on doubts
- User profile - CRUD
- Responsive design with Chakra UI components## Technologies Used
- Frontend:
- React.js
- Redux.js
- Chakra UI- Backend:
- Node.js
- Express.js
- Socket.io
- MongoDB## Installation
1. Clone the repository: `git clone https://github.com/ritesh22201/doubtshare-real-time-doubt-solving-platform`
3. Install frontend dependencies: `cd client && npm install`
4. Install backend dependencies: `cd server && npm install`
5. Create a MongoDB database and update the configuration in `server/config/db.js`## Usage
1. Start the backend server: `cd server && npm run server`
2. Start the frontend development server: `cd client && npm start`
3. Open your browser and visit: `http://localhost:3000`## Screenshots
### Landing Page
![Landing Page](./client/src/Assets/Screenshots/Screenshot%20(894).png)
### Signup Page
![Signup Page](./client/src/Assets/Screenshots/Screenshot%20(895).png)
### Login Page
![Login Page](./client/src/Assets/Screenshots/Screenshot%20(896).png)
### Dashboard Page
![Dashboard Page](./client/src/Assets/Screenshots/Screenshot%20(897).png)
### Doubts Page
![Doubts Page](./client/src/Assets/Screenshots/Screenshot%20(898).png)
### Profile Page
![Profile Page](./client/src/Assets/Screenshots/Screenshot%20(899).png)
### Chat Page
![Chat Page](./client/src/Assets/Screenshots/Screenshot%20(900).png)
## Backend
The backend is built using Node.js and Express.js. It provides RESTful APIs for managing tasks and communicates with the MongoDB database.
## Frontend
The frontend is built using React.js, and Redux.js, offering an intuitive user interface for managing tasks efficiently.
## API Documentation
### User Authentication Route
- `GET /api/auth/users/:email`: Get the details of a single user.
- `POST /api/auth/register`: Register a new user based on userType. Default user is Student.
- `POST /api/auth/login`: Existing user login.
- `PATCH /api/auth/logout/:email`: Logout route.
- `POST /api/auth/verify`: Verify the user with OTP
- `POST /api/auth/forgetPassword`: User can change the password if he/she forgets.### Doubt Route
- `GET /api/doubt/history`: Get the all the doubts by authenticated user.
- `POST /api/doubt/createDoubt`: Post a new doubt.
- `PATCH /api/doubt/updateDoubt/:id`: Update the existing doubt.
- `DELETE /api/doubt/deleteDoubt/:id`: Delete the existing doubt.### Profile Route
- `GET /api/auth/users/:email`: Get the current authenticated user.
- `PUT /api/auth/updateProfile/:id`: Update the user profile.## Database Schema
The MongoDB database schema consists of a `doubtshare` collection.
## Configuration
Confuguration is set up in MongoDB, by setting up the environment variables in .env file and setting up the database connection in `config/db.js`
## Deployment
For deployment, Render for the backend and Vercel for the frontend. Updated environment variables accordingly.
## Contact
For any inquiries, contact me at [email protected].
## Acknowledgments
- Thanks to the creators of React.js, Redux.js, Node.js, Express.js, MongoDB, and Chakra UI for their fantastic tools.
- Special thanks to the open-source community for their valuable contributions.