Codify – Interactive Coding Learning Platform Live Demo
👤 Username: sroshan1105_99788
or search for Roshan Suthar | PA
🆔 Discord ID: 1317732270047498343
Welcome to Codify, your all-in-one coding learning platform! Bookmarked learning paths, interactive courses, personalized dashboards, dark/light themes, and more — all in one place.
- Overview
- Key Features
- Tech Stack
- Performance Optimizations
- Screenshots
- Live Demo
- Installation
- Project Structure
- API Documentation
- Contributing
- Roadmap
- License
- Acknowledgments
Codify is a comprehensive educational platform designed to help users learn coding through interactive courses, personalized learning paths, and expert-curated roadmaps. The platform features a modern, responsive interface with dark/light theme support, progress tracking, and a robust course management system.
Our mission is to make coding education accessible, engaging, and effective for learners at all levels, from beginners to advanced developers.
- Interactive Courses: Engage with dynamic coding lessons and tutorials
- Personalized Dashboard: Track your progress, continue watching, and manage saved courses
- Course Roadmaps: Follow structured learning paths for different programming domains
- Dark/Light Theme: Choose your preferred visual experience with theme color customization
- Progress Tracking: Monitor your learning journey with detailed statistics
- Responsive Design: Seamless experience across all devices
- Comprehensive Admin Panel: Manage users, courses, and content
- Course Management: Add, edit, and organize courses and learning materials
- User Management: Monitor user activity and progress
- Analytics Dashboard: Track platform usage and engagement metrics
- React 18: Component-based UI development
- TailwindCSS: Utility-first CSS framework for styling
- React Router: Client-side routing
- Context API: State management
- Lazy Loading: Performance optimization for components and routes
- JWT Authentication: Secure user authentication
- Node.js: JavaScript runtime
- Express: Web application framework
- MongoDB: NoSQL database for data storage
- Mongoose: MongoDB object modeling
- JWT: JSON Web Tokens for authentication
- Vite: Next-generation frontend tooling
- ESLint: Code quality and style checking
- Netlify: Frontend deployment and hosting
- Git & GitHub: Version control and collaboration
Codify implements several performance optimization techniques:
- Lazy Loading: Components and routes are loaded on demand
- Code Splitting: Bundle splitting for faster initial load times
- Memoization: Prevents unnecessary re-renders with useMemo and useCallback
- Image Optimization: Efficient image loading and rendering
- SEO Optimization: Comprehensive meta tags and structured data
- Responsive Design: Optimized for all device sizes
Experience Codify in action: https://codifylearn.netlify.app
- Regular User:
- Email: [email protected]
- Password: demo123
- Admin User:
- Email: [email protected]
- Password: admin123
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (local or cloud instance)
- Clone Frontend
git clone https://github.com/roshansuthar1105/codify.git cd codify/client npm install - Create a
.envfile in the client directory with the following variables:VITE_SERVER_API=http://localhost:5050 VITE_YOUTUBE_API=your_youtube_api_key - Start the development server
npm run dev # or yarn dev - Open your browser and navigate to
http://localhost:5173
- Clone the backend repository
git clone https://github.com/Roshansuthar1105/Codify.git
- Navigate to the server directory
cd codify/server - Install dependencies
npm install # or yarn install - Create a
.envfile with the following variables:MONGODB_URI=your_mongodb_connection_string/or ask the repo owner for the URI PORT=5050 JWT_SECRET=your_jwt_secret CLIENT_CORS=http://localhost:5173 - Start the server
npm start # or yarn start
You might need to run both the client and server simultaneously for fetching data in your local machine.
client/
├── public/ # Static files
├── src/
│ ├── components/ # Reusable UI components
│ ├── context/ # React Context providers
│ ├── layouts/ # Page layout components
│ ├── pages/ # Main application pages
│ ├── store/ # State management
│ ├── utils/ # Utility functions
│ ├── App.jsx # Main application component
│ └── main.jsx # Application entry point
├── index.html # HTML template
└── vite.config.js # Vite configuration
server/
├── controllers/ # Request handlers
├── models/ # Database models
├── routes/ # API routes
├── middleware/ # Custom middleware
├── utils/ # Utility functions
└── server.js # Server entry point
POST /api/auth/register- Register a new userPOST /api/auth/login- Login a userGET /api/auth/me- Get current user information
GET /api/v1/courses- Get all coursesGET /api/v1/courses/:id- Get a specific coursePOST /api/v1/courses- Create a new course (admin only)PUT /api/v1/courses/:id- Update a course (admin only)DELETE /api/v1/courses/:id- Delete a course (admin only)
GET /api/progress- Get user's progress for all coursesGET /api/progress/:courseId- Get user's progress for a specific coursePUT /api/progress/:courseId- Update user's progress for a course
GET /api/activity- Get user's activity historyPOST /api/activity/add- Add a new activity record
GET /api/user/watchlist- Get user's watchlistPOST /api/user/addToWatchlist- Add/remove a course to/from watchlist
We welcome contributions to Codify! Here's how you can help:
Contributor Guide:
Visit/ContributorsGuidein the app for a step-by-step, beginner-friendly guide.
This page covers the Git workflow, pull request creation, FAQs, and helpful resources to make your first contribution smooth and enjoyable.
- Fork the repository
- Add an upstream to keep your fork synchronized with the original repository
git remote add upstream https://github.com/Roshansuthar1105/Codify.git
- Fetch Changes from the upstream
git fetch upstream
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
Please read our Contributing Guidelines for more details.
- Mobile application (React Native)
- Interactive code editor and playground
- Peer-to-peer learning and mentorship
- Gamification elements (badges, achievements)
- AI-powered learning recommendations
- Community forums and discussion boards
- Integration with GitHub for project-based learning
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by leading educational platforms like Coursera, Udemy, and freeCodeCamp
- Special thanks to all contributors and the open-source community
- YouTube API for video content integration
- All the amazing instructors who provided course content


