Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samarthhapse/sarthi
https://github.com/samarthhapse/sarthi
backend beginner-friendly chat express-js frontend javascript mongodb node-js payment-gateway reactjs redux
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/samarthhapse/sarthi
- Owner: samarthhapse
- Created: 2024-05-04T11:20:01.000Z (9 months ago)
- Default Branch: temp-updated
- Last Pushed: 2024-12-05T05:12:04.000Z (about 2 months ago)
- Last Synced: 2025-01-12T02:18:44.501Z (10 days ago)
- Topics: backend, beginner-friendly, chat, express-js, frontend, javascript, mongodb, node-js, payment-gateway, reactjs, redux
- Language: JavaScript
- Homepage:
- Size: 41.3 MB
- Stars: 47
- Watchers: 1
- Forks: 75
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
ElevateHub - Your Pathway to Expert Assistance
ElevateHub is an innovative online platform designed to bridge the gap between junior novices and seasoned experts across various industries. Whether you're a student looking for guidance, a budding professional seeking career advice, or an individual encountering technical hurdles, ElevateHub is here to connect you with experienced mentors from around the globe.
## 💻 Tech Stacks
-> Key Features <-
- **Bug Solving**
Encountered a stubborn bug in your code that's impeding your progress? Fear not! With ElevateHub, you can seek assistance from experienced developers who can help you troubleshoot and debug your code efficiently.- **Tech Career Assistance**
Navigating the complex landscape of a tech career can be daunting, especially for beginners. ElevateHub provides a platform where you can seek guidance on career paths, skill development, job opportunities, and industry insights from seasoned professionals.- **Academic Support**
Struggling with a challenging academic concept or assignment? ElevateHub offers a supportive environment where you can connect with knowledgeable individuals who can provide clarity, guidance, and assistance with your academic endeavors.## Step-by-step building guide:
>Note: For each step write frontend, backend code, store data in DB, and then move forward to the next step
## Step 1:
#### Create login and signup pages for juniors and seniors
- **Data to get from juniors/students:** name, email, phone
- **Data to get from seniors/experts:** name, expertise, field, college, job title### Frontend:
- Create login and signup UI pages for juniors and seniors
- Include form fields to capture required data
- Implement form validation for input fields### Backend:
- Create endpoints for user authentication (login and signup) for both juniors and seniors
- Implement validation and authentication logic
- Store user data in the database### Database:
- Design database schema to store user information (juniors and seniors)
- Create tables for juniors and seniors with appropriate fields## Step 2:
#### After junior/student's login, they must get 3 fields to choose:
- Bug solving
- Tech career assistance
- Academic support### Frontend:
- Implement UI for the selection of assistance fields after junior login### Backend:
- Update the user profile to include the selected assistance fields
- Handle user preferences and choices in the backend## Step 3:
- List all the experts/seniors who have registered on the website with their detailed info
>Note: Get the data of registered experts/seniors from the DB
### Frontend:
- Create a page to display a list of registered experts/seniors with their details### Backend:
- Implement logic to fetch and retrieve registered experts/seniors from the database## Step 4: (Chats)
- Create a chatting functionality for selected expert and the junior
>Note: Here they will discuss the problem and the amount of fees required to solve the problem### Frontend:
- Implement a chat interface for communication between juniors and selected experts### Backend:
- Develop WebSocket or HTTP endpoints to handle real-time messaging between users
- Store chat messages in the database for future reference## Step 5: (Payment Gateway)
- Integrate a payment gateway for pre-payment
### Frontend:
- Implement UI for initiating payment for expert assistance### Backend:
- Integrate payment gateway APIs for processing payments
- Handle payment status and update user profiles accordingly## Step 6: (Meet)
- Provide them with an option to conduct an online meeting to solve the problem
### Frontend:
- Implement UI for scheduling and conducting online meetings between juniors and experts### Backend:
- Develop functionality for scheduling and managing online meetings
- Integrate video conferencing APIs for real-time communication## Step 7:
- Get the final payment and feedback from the junior
### Frontend:
- Implement UI for confirming final payment and collecting feedback from juniors### Backend:
- Handle payment confirmation and feedback submission logic
- Update user profiles and records based on payment completion and feedback# Project Title
A brief description of what this project does and who it's for
## Installation
#### Creating a Fork of the Repo and Clonning
1 . Clone the repository :
```
git clone https://github.com/samarthhapse/ElevateHub
```2 . Navigate to the project directory :
```
cd ElevateHub
```3 . Add git remote upstream throught the terminal navigating to the profile file:
```
git remote add upstream https://github.com/samarthhapse/ElevateHub
```#### To get started with ElevateHub frontend, follow these steps:
1 . Start frontend :
```
cd client
```2 . Install dependencies :
```
npm install
```3 . Add A Environment Variable File `.env` having the Variables :
```
CLIENT_ID=
CLIENT_SECRET_KEY=
CLIENT_REDIRECT_URL=VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT=PORT=
```3 . Run client on localhost :
```
npm run dev
```#### To get started with ElevateHub Backend, follow these steps:
1 . Direct to the ElevateHub project directory -> then to the server directory by using :
```
cd server
```2 . Install dependencies :
```
npm install
```3 . Add A Environment Variable File `.env` having the Variables :
```
MONGO_URI=
PORT=CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=SERVER_ADDRESS= eg(http://localhost/PORT_NO.)
#If your dont have these details create one on https://ethereal.email/ and create a demo account
MAIL_HOST=
MAIL_PORT=
MAIL_AUTH_USER=
MAIL_AUTH_PASSWORD=
MAIL_OWNER_FOR_AUTH=JWT_SECRET_KEY=
```3 . Run client on localhost :
```
npm run dev
```This will launch the application frontend in your default web browser.
>You can access it at `http://localhost:5173`
Our Contributors ❤️
Thank you for contributing to our repository
![Contributors](https://contrib.rocks/image?repo=samarthhapse/ElevateHub)
### Show some ❤️ by starring this awesome repository!