A modern full-stack micro-learning web application that delivers short, focused lessons with quizzes, progress tracking, and personalized dashboards.
MicroLearn is a complete full-stack web application built during a 15-week internship at VrishankSoft OPC Pvt Ltd. It allows users to learn through structured short lessons, complete quizzes, track their progress, save content, and manage their profile β all through a clean and responsive interface.
The platform was built using React.js and Tailwind CSS on the frontend, and Django REST Framework with SQLite on the backend, following a clean client-server architecture connected through REST APIs.
- π User Authentication β Secure token-based login and signup
- π Personalized Dashboard β Real-time stats, streak tracking, and daily learning card
- π Explore Topics β Browse topics with detailed lesson modal and curriculum view
- π Lesson Flow β Structured lessons with Intro, Content, and Key Takeaways
- π§ Quiz System β Multiple choice and True/False questions with auto scoring
- π Progress Analytics β Circular progress bar, per-topic progress, and recent activity
- π Saved Lessons β Bookmark lessons with search and category filter
- π Notifications β Real-time notification system with polling and mark-as-read
- π€ Profile Management β View and edit profile with backend persistence
- π± Fully Responsive UI β Works across mobile, tablet, and desktop
| Technology | Purpose |
|---|---|
| React.js | Component-based UI development |
| Tailwind CSS | Responsive styling and layout |
| Axios | API communication with backend |
| React Hooks | State and lifecycle management |
| Lucide React | Icon library |
| Technology | Purpose |
|---|---|
| Python | Backend programming language |
| Django | Web framework |
| Django REST Framework | REST API development |
| Token Authentication | Secure user session management |
| Technology | Purpose |
|---|---|
| SQLite | Development database |
| Tool | Purpose |
|---|---|
| VS Code | Development environment |
| Git and GitHub | Version control |
| Django Admin | Content and lesson management |
microlearn-platform/
β
βββ api/ β Django App
β βββ models.py β Database models
β βββ serializers.py β JSON conversion
β βββ views.py β API logic
β βββ admin.py β Admin panel config
β βββ migrations/ β Database migrations
β
βββ core/ β Django Project Config
β βββ settings.py β Project settings
β βββ urls.py β URL routing
β
βββ src/ β React Application
β βββ components/
β β βββ common/ β AuthModal, MainHeader, NotificationDropdown
β β βββ dashboard/ β Dashboard, Sidebar, StatsCards, DailyLearning
β β βββ explore/ β ExplorePage, TopicCard, TopicGrid, TopicModal
β β βββ lesson/ β LessonController, Quiz, Steps, UI
β β βββ analytics/ β ProgressStats, ProgressHero, RecentActivity
β β βββ saved/ β SavedTopics
β β βββ profile/ β ProfilePage, EditForm, ViewFields
β β βββ contact/ β ContactForm, ContactInfo
β β βββ review/ β ReviewForm, ReviewList, ReviewCard
β β βββ pages/ β About, Contact, Review, Privacy, Terms
β βββ App.jsx β Root component and routing
β βββ main.jsx β React entry point
β
βββ manage.py β Django management script
βββ requirements.txt β Python dependencies
βββ package.json β Node dependencies
βββ README.md
- Python 3.x installed
- Node.js installed
- Git installed
# 1. Clone the repository
git clone https://github.com/Nehmuk/microlearn-platform.git
# 2. Go to project folder
cd microlearn-platform
# 3. Create virtual environment
python -m venv venv
# 4. Activate virtual environment
venv\Scripts\activate # Windows
source venv/bin/activate # Mac or Linux
# 5. Install Python dependencies
pip install -r requirements.txt
# 6. Run database migrations
python manage.py migrate
# 7. Create admin user (optional)
python manage.py createsuperuser
# 8. Start Django server
python manage.py runserver# 1. Install Node dependencies
npm install
# 2. Start React development server
npm run devFrontend β http://localhost:5173
Backend β http://localhost:8000
Admin β http://localhost:8000/admin
| Model | Purpose |
|---|---|
| Topic | Stores learning topics, categories, icons, and descriptions |
| Lesson | Stores lesson content as JSON including quiz questions |
| UserLessonProgress | Tracks per-lesson completion for each user |
| UserProgress | Stores streak, total points, and lessons completed |
| UserProfile | Extended profile β bio, location, occupation, gender, age |
| SavedLesson | Tracks lessons bookmarked by each user |
| Notification | Stores notifications generated for each user |
| Review | Stores star ratings and comments from users |
| Method | Endpoint | Auth Required | Purpose |
|---|---|---|---|
| POST | /api/login/ |
β | User login |
| POST | /api/signup/ |
β | User registration |
| GET | /api/topics/ |
β | Fetch all topics with curriculum |
| GET | /api/user-stats/ |
β | Fetch streak, points, lessons done |
| POST | /api/complete-lesson/ |
β | Mark lesson complete and update stats |
| GET | /api/lesson-progress/ |
β | Fetch per-lesson completion records |
| GET | /api/saved-lessons/ |
β | Fetch user saved lessons |
| POST | /api/lessons/toggle-save/ |
β | Save or unsave a lesson |
| GET | /api/notifications/ |
β | Fetch user notifications |
| POST | /api/notifications/mark-read/ |
β | Mark one notification as read |
| POST | /api/notifications/mark-all-read/ |
β | Mark all notifications as read |
| GET | /api/profile/ |
β | Fetch user profile |
| PUT | /api/profile/update/ |
β | Update user profile |
| GET | /api/reviews/ |
β | Fetch all reviews |
| POST | /api/reviews/ |
β | Post a new review |
| POST | /api/contact/ |
β | Submit contact message |
- User signs up β Django creates user β Token generated β Stored in localStorage
- User logs in β Django verifies credentials β Token returned β Stored in localStorage
- Every API request β Token sent in Authorization header β Django validates β Response returned
- User logs out β Token removed from localStorage β Session cleared
- Component-based Architecture β React components for every UI section
- React Hooks β useState, useEffect, useCallback for state and lifecycle
- Token Authentication β Secure session management without cookies
- REST API Design β Clean endpoints following REST conventions
- Custom Events β statsUpdated, progressUpdated, savedUpdated for real-time sync
- Optimistic UI β Instant UI updates before backend confirmation
- Promise.all β Parallel API calls for faster page loading
- Django Serializers β Clean JSON conversion with validation
- OneToOneField β UserProfile and UserProgress linked one-to-one with User
- JSONField β Lesson content and quiz data stored as flexible JSON
- AI-based personalized lesson recommendations
- Video lessons and interactive learning materials
- Certificates and achievement badges
- Email notifications and reminder systems
- Mobile application for Android and iOS
- Deployment on Vercel and Railway with PostgreSQL
Neha Mukhopadhyay B.E. Computer Science and Engineering GSSSIETW, Mysuru β 4GW22CS073
Internship at VrishankSoft OPC Pvt Ltd External Guide β Mr. Santosh Khot, Managing Director Internal Guide β Mrs. Harshitha B, Assistant Professor
Duration β February 2026 to May 2026 (15 Weeks)
This project is licensed under the MIT License β see the LICENSE file for details.