Sarthi 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, Sarthi is here to connect you with experienced mentors from around the globe.
-
Bug Solving Encountered a stubborn bug in your code that's impeding your progress? Fear not! With Sarthi, 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. Sarthi 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? Sarthi offers a supportive environment where you can connect with knowledgeable individuals who can provide clarity, guidance, and assistance with your academic endeavors.
Note: For each step write frontend, backend code, store data in DB, and then move forward to the next step
- Data to get from juniors/students: name, email, phone
- Data to get from seniors/experts: name, expertise, field, college, job title
- Create login and signup UI pages for juniors and seniors
- Include form fields to capture required data
- Implement form validation for input fields
- Create endpoints for user authentication (login and signup) for both juniors and seniors
- Implement validation and authentication logic
- Store user data in the database
- Design database schema to store user information (juniors and seniors)
- Create tables for juniors and seniors with appropriate fields
- Bug solving
- Tech career assistance
- Academic support
- Implement UI for the selection of assistance fields after junior login
- Update the user profile to include the selected assistance fields
- Handle user preferences and choices in the backend
- 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
- Create a page to display a list of registered experts/seniors with their details
- Implement logic to fetch and retrieve registered experts/seniors from the database
- 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
- Implement a chat interface for communication between juniors and selected experts
- Develop WebSocket or HTTP endpoints to handle real-time messaging between users
- Store chat messages in the database for future reference
- Integrate a payment gateway for pre-payment
- Implement UI for initiating payment for expert assistance
- Integrate payment gateway APIs for processing payments
- Handle payment status and update user profiles accordingly
- Provide them with an option to conduct an online meeting to solve the problem
- Implement UI for scheduling and conducting online meetings between juniors and experts
- Develop functionality for scheduling and managing online meetings
- Integrate video conferencing APIs for real-time communication
- Get the final payment and feedback from the junior
- Implement UI for confirming final payment and collecting feedback from juniors
- Handle payment confirmation and feedback submission logic
- Update user profiles and records based on payment completion and feedback
A brief description of what this project does and who it's for
1 . Clone the repository :
git clone https://github.com/samarthhapse/sarthi
2 . Navigate to the project directory :
cd sarthi
3 . Add git remote upstream throught the terminal navigating to the profile file:
git remote add upstream https://github.com/samarthhapse/sarthi
1 . Start frontend :
cd client
2 . Install dependencies :
npm install
3 . Add A Environment Variable File .env
having the Variables :
CLIENT_ID=<THE-GOOGLE-AUTH-CLIENT-ID>
CLIENT_SECRET_KEY=<THE-GOOGLE-AUTH-CLIENT-ID>
CLIENT_REDIRECT_URL=<THE-URL-OF-YOUR-BACKEND>
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT=<YOUR-APPWRITE-PROJECT-ID>
PORT=<PORT-AT-WHICH-YOUR-BACKEND-IS-RUNNING>
3 . Run client on localhost :
npm run dev
1 . Direct to the sarthi 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=<YOUR-MONGODB-ATLAS-DATABASE-URL>
PORT=<PORT-YOUR-WANT-YOUR-BACKEND-TO-RUN>
CLOUDINARY_CLOUD_NAME=<YOUR-CLOUDINARY_CLOUD_NAME>
CLOUDINARY_API_KEY=<YOUR-CLOUDINARY_API_KEY>
CLOUDINARY_API_SECRET=<YOUR-CLOUDINARY_API_SECRET>
SERVER_ADDRESS=<WHERE_YOUR_BACKEND_IS_RUNNING_> 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-HOST>
MAIL_PORT=<MAIL-PORT>
MAIL_AUTH_USER=<MAIL_AUTH_USER>
MAIL_AUTH_PASSWORD=<MAIL_AUTH_PASSWORD>
MAIL_OWNER_FOR_AUTH=<MAIL_ID_OF_MODERATOR/OWNER_OF_WEBSITE>
JWT_SECRET_KEY=<YOUR-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