SkillCode is a web-based application designed to replicate and enhance the functionalities of LeetCode. It enables users to solve coding problems, visualize solutions through flow charts, and manage courses. The platform integrates React for the frontend and MongoDB for data management. SkillCode provides features like CRUD operations for questions, courses, users, and more.
- Add, edit, delete, and view coding questions.
- Track solved and unsolved questions.
- Associate questions with courses and companies.
- Manage courses with details like name, price, and description.
- Visualize courses sold.
- Generate flow charts to visualize solutions for coding problems.
- Handle both regular and pro users.
- Pro users have additional features like tracking subscription status.
- Perform create, read, update, and delete operations across all collections in MongoDB.
- Fields:
Q_id,Q_name,Q_explation,Q_input,Q_output,TypeOfQues,Sol,Company_name,Course_id,Status,SoftDelete
- Fields:
U_id,U_name,U_email,U_dob,Status,softDelete
- Fields:
T_id,T_name
- Fields:
D_id,D_value
- Fields:
P_id,P_name,P_email,P_dob,P_status,P_StartDate,P_endDate
- Fields:
Company_id,Company_name
- Fields:
Course_id,Course_name,Course_price,Course_description,Status,SoftDelete
- Frontend: React.js
- Backend: Express.js
- Database: MongoDB
- Styling: Bootstrap
-
Clone the repository:
git clone https://github.com/VedantHanda771/SkillCode.git
-
Navigate to the project directory:
cd SkillCode -
Install dependencies:
npm install
-
Set up MongoDB and configure the connection string in
.envfile:MONGO_URI=<your-mongodb-connection-string> PORT=<your-port-number> JWT_SECRET=<your-secret> VITE_BACKEND_URL=<your-url> VITE_RAZORPAY_KEY_ID=<your-id-key> VITE_RAZORPAY_KEY_SECRET=<your-razorpay-secret>
-
Start the development server:
npm start
-
Access the deployed version at: DEMO
- Home Page: Navigate through the home page to explore features.
- Questions Page: Solve coding problems and track your progress.
- Courses Page: View and purchase courses.
- Add support for user analytics and performance tracking.
- Integrate additional payment options for course purchases.
- Implement advanced search and filtering for questions.