Practice Full-Stack Web Skills with MERN Minor Projects
Explore beginner-friendly MERN stack projects to understand full-stack development using MongoDB, Express, React, and Node.js through real-world scenarios.
Project 1: Multi-Vendor E-Commerce Marketplace
Description: This project simulates platforms like Flipkart or Amazon where multiple vendors can register and list their products. Users can browse, add to cart, and purchase products using integrated payment simulation. Admins can manage users, vendors, and view sales analytics.
User Roles: Vendor, User & Admin
Core Features
- Product listing with GraphQL-based filters (by category, price, ratings)
- Multi-cart support, order tracking, and simulated payments
- Sales dashboard for vendors (monthly revenue, best-sellers, etc.)
- REST API for checkout, GraphQL for listing & analytics
- MongoDB for product catalog (schema-less flexibility)
- MySQL for order processing and transactions (ACID compliant)
Tech Stack
- Frontend: HTML, CSS, JavaScript (ES6+), React.js
- Backend: Node.js, Express.js
- Database: MongoDB (Products, Users), MySQL (Orders & Transactions)
- Auth: JWT
- API: REST + GraphQL for product filtering and vendor analytics
Learning Outcomes
- Master role-based authentication and authorization using JWT
- Implement REST and GraphQL APIs together for different use cases
- Understand and apply MongoDB for dynamic product schemas and MySQL for transaction safety
- Learn product filtering, pagination, search, and sorting (GraphQL filters)
- Practice creating reusable React components, product cards, and admin dashboards
- Implement real-time order tracking and vendor analytics
Project 2: Online Learning Management System (LMS)
Description: Build a full-featured LMS like Coursera or Udemy with support for trainers, learners, and admins. It allows learners to enroll in courses, watch videos, download notes, and track progress. Trainers can upload content and quizzes. Admins can manage users and revenue.
User Roles: Trainer, Learner & Admin (with JWT sessions)
Core Features
- Video lectures, notes (PDF, DOCX), quizzes & certificates
- PostgreSQL for user records and payment tracking
- MongoDB GridFS for video and media storage
- Real-time chat or Q&A module (Socket.IO optional)
- GraphQL reports: course completion, learner stats, revenue by trainer
Tech Stack
- Frontend: HTML, Tailwind CSS, React.js
- Backend: Node.js, Express.js
- Database: MongoDB (Courses, Content), PostgreSQL (Users & Payments)
- Auth: JWT
- API: REST APIs for course interaction, GraphQL for reporting & analytics
Learning Outcomes
- Upload, stream, and manage files using Multer and MongoDB GridFS
- Design secure APIs for payment handling, course access control
- Develop certificate generation and quiz evaluation systems
- Apply PostgreSQL for relational user and payment data
- Use GraphQL to build student performance dashboards
Project 3: Health & Fitness Tracker with Diet & Appointment Booking
Description: This app lets users track fitness goals, log meals, and book virtual doctor or dietician appointments. Each user has a personal dashboard showing BMI, diet charts, exercise logs, and appointment history.
User Roles: User, Doctor & Admin (with JWT sessions)
Core Features
- User registration with JWT-based secure login
- Workout logging & dietary recommendations
- MongoDB for storing exercise, diet, body stats
- MySQL for appointment booking & doctor schedules
- Calendar-based booking system for consultations
- GraphQL dashboard for health progress reports & insights
Tech Stack
- Frontend: HTML, CSS Modules, React.js
- Backend: Node.js, Express.js
- Database: MongoDB (Health Data, Workouts), MySQL (Appointments, Users)
- Auth: JWT
- API: REST (for user actions), GraphQL (for reporting & filtering)
Learning Outcomes
- Build personalized dashboards with React Context API or state management
- Implement health data collection and visualization (e.g., BMI, calorie intake)
- Use MongoDB to store flexible and evolving user health data
- Build secure appointment booking workflows using MySQL transactions
- Apply GraphQL queries to fetch fitness stats, generate health reports
- Gain experience with calendar UI, date-pickers, and form validation
Project 4: Freelance Job Bidding Platform (Like Upwork)
Description: Create a job marketplace where clients post jobs and freelancers bid. After selection, both parties can collaborate via chat and track project progress. This is a simplified version of Upwork/Fiverr with a strong focus on role-based workflows.
User Roles: Client, Freelancer & Admin (with JWT sessions)
Core Features
- Job posting, bidding, proposal acceptance
- Chat system using MongoDB for flexibility
- PostgreSQL for transactional job & bid data
- JWT Authentication with refresh token handling
- GraphQL-based job filtering (category, budget, time)
- Admin panel to manage disputes, reports, and reviews
Tech Stack
- Frontend: React.js with Styled Components
- Backend: Node.js, Express.js
- Database: PostgreSQL (Users, Jobs, Bids), MongoDB (Chat, Reviews)
- Auth: JWT
- API: REST (for job posting, bidding), GraphQL (for job filtering, reports)
Learning Outcomes
- Understand and apply complex user workflows (job posting, bidding, approval)
- Implement chat functionality and message persistence using MongoDB
- Develop secure payment and rating modules (simulation or integration)
- Use PostgreSQL for normalized data: users, jobs, bids, payments
- Apply JWT refresh token strategy for long-term sessions
- Learn GraphQL dynamic filters (e.g., search jobs by skill, experience, budget)
Project 5: Inventory and Sales Management System (For Small Retailers)
Description: This is a complete inventory system where retailers can manage stock, view purchase/sales records, and generate GST-based invoices. Includes a dashboard with reports, profit tracking, and monthly analytics.
User Roles: Admin, Cashier & Store Manager
Core Features
- CRUD for products, categories, suppliers, and purchases
- Sales module with invoice PDF generation
- MySQL for all structured data (ideal for reports)
- MongoDB for audit logs (recording all user actions)
- GraphQL-based analytics: top products, sales graph
- JWT Authentication and session persistence
Tech Stack
- Frontend: HTML, CSS, Bootstrap, React.js
- Backend: Node.js, Express.js
- Database: MySQL (Sales, Purchases, Suppliers), MongoDB (Audit Logs, Product Catalog)
- Auth: JWT
- API: REST (CRUD operations), GraphQL (Reporting, Filtering)
Learning Outcomes
- Apply CRUD operations using React and REST APIs
- Design invoice generation, downloadable PDF reports
- Normalize data in MySQL for stock, sales, suppliers, categories
- Use MongoDB for logging user actions and monitoring system events
- Implement charting and analytics (e.g., profit tracking, sales trends)
- Build multi-role dashboards with access control using JWT
Project 6: Role-Based Access Control (RBAC) Admin Panel
Description: Develop a full-featured Admin Panel that dynamically adapts to the user’s role (e.g., Super Admin, Editor, Viewer). Permissions dictate which pages/components are visible and which actions (CRUD) are allowed.
User Roles: Super Admin, Editor & Viewer
Core Features:
- User login with JWT token-based role authentication
- Role & permission management (create/edit/delete roles)
- Conditional UI rendering based on permissions
- Route guards and protected APIs
- Activity logs using MongoDB (who did what and when)
- Admin dashboard with analytics using GraphQL
Tech Stack
- Frontend: React.js, HTML, CSS Modules, ECMAScript 6+
- Backend: Node.js, Express.js
- Database: PostgreSQL (User-Role-Permission Schema), MongoDB (Audit Logs)
- Authentication: JWT with Role & Permission Guard
- API: REST for operations, GraphQL for reporting
Learning Outcomes:
- Understand Role-Permission modeling with PostgreSQL
- Implement secure backend with permission middleware
- Build dynamic UIs that adapt to access control logic
- Integrate GraphQL for analytics and audit queries
- Apply real-time feedback for blocked/unauthorized actions
Project 7: Real Estate Listing & Rental Management System
Description: Create a property listing platform like 99acres or MagicBricks where users can view, filter, and inquire about properties for rent/sale. Owners can list their properties, and admins verify listings.
User Roles: Buyer, Seller & Admin
Core Features
- Register/Login as Buyer, Seller, or Admin
- Property listing with images, amenities, location
- Google Maps or Leaflet integration for property pins
- Filtering via GraphQL (budget, BHK, city, type)
- Inquiries, booking site visits, and contact forms
- Admin moderation of properties and users
Tech Stack
- Frontend: React.js, Styled Components, React Maps
- Backend: Node.js, Express.js
- Database: MongoDB (Properties, Reviews), MySQL (Users, Bookings, Payments)
- Authentication: JWT
- API: REST for listing and interactions, GraphQL for advanced search
Learning Outcomes
- Learn advanced filtering with GraphQL
- Integrate geolocation & mapping in React
- Build secure, multi-role login flows with JWT
- Combine structured (MySQL) and unstructured (MongoDB) data
- Build responsive, real-world dashboard layouts
Project 8: Online Survey & Feedback System (Like Google Forms)
Description: Develop a Google Forms clone where users can create and share custom surveys. Responses are collected in real-time and visualized using dynamic charts.
User Roles: Simple User & Admin
Core Features
- Survey builder with multiple question types (MCQ, short text, rating)
- Form sharing via public/private links
- Real-time form response collection
- Graphs (bar, pie) for response summaries
- Admin tools to monitor abuse, export results
- Dashboard with GraphQL-based charts and filters
Tech Stack
- Frontend: React.js, Tailwind CSS, ECMAScript 6+
- Backend: Node.js, Express.js
- Database: MongoDB (Form Structures & Responses), PostgreSQL (User Data)
- Authentication: JWT
- API: REST for submissions, GraphQL for reports
Learning Outcomes
- Handle dynamic forms and state in React
- Design form templates and responses using MongoDB
- Apply role-based access to forms (creator vs. public)
- Build reporting charts with GraphQL aggregations
- Implement secure form sharing and response validation
Project 9: College ERP Management System
Description: Create a full ERP portal for colleges to manage students, faculty, exams, attendance, results, and notices. Each user (Admin, Student, Teacher) has a separate dashboard.
User Roles: Student, Teacher & Admin
Core Features
- Admin: Manage users, fees, results, time-tables
- Teacher: Upload assignments, mark attendance
- Student: View marks, notices, pay fees, download study material
- Notification board and assignment upload using MongoDB
- JWT-based access for different dashboards
- GraphQL for attendance analytics and exam trends
Tech Stack
- Frontend: React.js, HTML, Bootstrap
- Backend: Node.js, Express.js
- Database: PostgreSQL (Students, Exams, Payments), MongoDB (Notices, Assignments)
- Authentication: JWT
- API: REST + GraphQL
Learning Outcomes
- Build large-scale, multi-role portals
- Apply domain-driven PostgreSQL schema design
- Separate structured (student data) and unstructured (assignments) storage
- Implement reusable dashboard layouts and protected routes
- Build and optimize GraphQL queries for education analytics
Project 10: Inventory & Billing POS System for Retail Stores
Description: A complete Point-of-Sale (POS) system to manage stock, perform billing, and analyze sales. Useful for mini-marts, electronics shops, and medical stores.
User Roles: Admin & Cashier
Core Features
- Add/Edit/Delete items with stock quantity
- Barcode simulation for adding products to cart
- Tax & discount calculations on invoices
- Daily/weekly/monthly sales reports via GraphQL
- Role-based login: Admin, Cashier
- MongoDB for transaction logs and low-stock alerts
Tech Stack
- Frontend: React.js, CSS Grid, Chart.js
- Backend: Node.js, Express.js
- Database: MySQL (Billing, Products, Customers), MongoDB (Logs, Notifications)
- Authentication: JWT
- API: REST (sales flow), GraphQL (dashboard reports)
Learning Outcomes:
- Handle complex forms (product entry, invoice calculations)
- Work with financial calculations & validations
- Build relational schemas for invoices using MySQL
- Use GraphQL aggregations to prepare business reports
- Design print-ready invoice layouts with React
Project 11: Event Management & Ticket Booking Platform
Description: A platform like BookMyShow/Eventbrite where users can view upcoming events, book tickets, receive e-tickets, and leave reviews. Organizers can add and manage their events.
User Roles: User, Organizer & Admin
Core Features
- Role-based dashboards (User, Organizer, Admin)
- Event filtering by date, location, type
- Ticket generation and booking confirmation
- Payment simulation or integration
- Event reviews and feedback system
- Admin analytics: top events, total bookings (GraphQL)
Tech Stack
- Frontend: React.js, Tailwind CSS, DatePicker
- Backend: Node.js, Express.js
- Database: PostgreSQL (Events, Tickets, Payments), MongoDB (User Activity, Reviews)
- Auth: JWT
- API: REST (booking, payments), GraphQL (filter events & reports)
Learning Outcomes
- Master multi-role flows and conditional UI
- Work with calendar-based filtering and booking
- Apply secure JWT-based event access & e-ticket verification
- Generate dynamic GraphQL reports (e.g., booking trends, revenue)
- Design printable and email-based tickets using React
Project 12: Blogging & Content Publishing Platform
Description: A CMS/blogging platform like Medium, allowing users to write, edit, publish, and manage content. Admins moderate posts, while readers can react, comment, and bookmark articles.
User Roles: User & Admin
Core Features
- WYSIWYG or markdown-based blog editor
- Tag-based search and categorization (GraphQL)
- Commenting and reaction system
- Post status: draft, published, archived
- Admin: flag, unpublish, or delete abusive content
Tech Stack
- Frontend: React.js, Markdown Editor, Prism.js for syntax
- Backend: Node.js, Express.js
- Database: MongoDB (Posts, Tags, Comments), MySQL (Users, Reports)
- Auth: JWT
- API: REST (posting), GraphQL (post search, stats)
Learning Outcomes
- Handle nested MongoDB documents (comments, tags)
- Implement rich text editing in React
- Integrate code highlighting and image embedding
- Use GraphQL for search filters and tag-based content discovery
- Apply content moderation logic and status handling
Project 13: Coupon & Deal Aggregator Website
Description: An application like GrabOn or CouponDunia that aggregates deals and promo codes from e-commerce, food, travel, and other platforms. Users can rate, save, and share coupons.
User Roles: Only Admin
Core Features
- Coupon listing with filters (category, store, expiry)
- Affiliate dashboard for earnings and traffic
- Bookmark or “try this code” actions
- Admin verification and expiry tracking
- Analytics on most-used or top-performing coupons
Tech Stack
- Frontend: React.js, CSS Flex/Grid
- Backend: Node.js, Express.js
- Database: MongoDB (Coupons, Offers), PostgreSQL (Users, Affiliates)
- Auth: JWT
- API: REST (add/edit coupons), GraphQL (search/filter by category/store)
Learning Outcomes
- Build real-time filters using GraphQL queries
- Work with time-based logic (auto-expiry of coupons)
- Implement rating and usage tracking for offers
- Understand affiliate marketing flows and dashboards
- Store metadata and logs using MongoDB for performance
Project 14: Student Resume Builder & Job Board Platform
Description: An all-in-one platform for students to create professional resumes using templates, then apply for internships or jobs. Admins or HRs can post jobs and view applications.
User Roles: Admin, HR & Student
Core Features
- Resume builder with drag-drop sections and template preview
- Convert HTML-based resumes to downloadable PDFs
- Job listing and application module
- Admin & HR dashboard for application tracking
- Resume version control and download history
Tech Stack
- Frontend: React.js, Tailwind, HTML-to-PDF Generator
- Backend: Node.js, Express.js
- Database: MySQL (Users, Jobs, Applications), MongoDB (Resumes, Templates)
- Auth: JWT
- API: REST (job apply/upload), GraphQL (filters, resume usage)
Learning Outcomes
- Work with PDF generation from React UI
- Design relational schemas for applications and jobs (MySQL)
- Store semi-structured resume content using MongoDB
- Combine REST and GraphQL effectively
- Build form-based applications with validation and file uploads
Project 15: Online Pharmacy & Medicine Ordering System
Description: Develop an online pharmacy where users can upload prescriptions, order medicines, track deliveries, and get medicine info. Admins can add stock, verify prescriptions, and track expiry.
User Roles: User & Admin
Core Features
- Prescription upload and approval by pharmacist
- Medicine categories and filters (GraphQL-based)
- Shopping cart and simulated checkout
- Admin alerts for low stock and expiry
- Dashboard for inventory and sales reports
Tech Stack
- Frontend: React.js, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB (Products, Prescriptions), MySQL (Orders, Users)
- Auth: JWT
- API: REST (prescriptions/orders), GraphQL (inventory reports)
Learning Outcomes
- Handle secure file uploads and prescription validation
- Build inventory management using MongoDB + GraphQL
- Learn form-based dynamic shopping cart logic in React
- Apply real-time filters, alerts, and stock control
- Explore UX for healthcare-based flows and validations
Project 16: Supply Chain & Inventory Tracking System
Description: A full inventory management and supply chain system to monitor product flow from suppliers to warehouses to distributors. Supports tracking batch-wise delivery and reorder alerts.
Core Features
- Supplier & warehouse registration and authentication
- Real-time stock level monitoring and alerts
- GraphQL inventory analytics (most reordered, fastest moving)
- Incoming and outgoing product logs with timestamps
- Purchase order generation and PDF invoice download
Tech Stack
- Frontend: React.js, Tailwind CSS, Chart.js
- Backend: Node.js, Express.js
- Database: MySQL (Suppliers, Products, Orders), MongoDB (Shipment Logs, Notifications)
- Auth: JWT
- API: REST (transactions), GraphQL (inventory dashboard)
Learning Outcomes
- Build enterprise-level supply chain logic
- Design normalized MySQL schemas for orders and batches
- Integrate MongoDB for flexible shipment logs and alerts
- Visualize trends using GraphQL + Chart.js
- Implement conditional UI & validations for logistics workflows
Project 17: Online Legal Advice & Case Management Platform
Description: A secure platform for clients to submit legal queries and book virtual consultations with lawyers. Lawyers can manage cases, upload legal documents, and track upcoming hearings.
User Roles: Client, Lawyer & Admin
Core Features
- Case file uploads, document sharing, lawyer appointments
- Consultation calendar and chat with legal professionals
- Secure access to documents using JWT and expiry-based links
- GraphQL analytics for case types and frequency
Tech Stack
- Frontend: React.js, Formik, Bootstrap
- Backend: Node.js, Express.js
- Database: PostgreSQL (Clients, Lawyers, Cases), MongoDB (Chat Logs, Documents)
- Auth: JWT with session expiry
- API: REST + GraphQL (for reporting & filters)
Learning Outcomes
- Learn complex role flows with data separation
- Build secure file/document access control
- Handle chat and document upload in MongoDB
- Apply GraphQL for querying legal case stats
- Build lawyer dashboards and appointment logic
Project 18: Budgeting & Personal Expense Tracker
Description: A modern personal finance tool to help users track income, expenses, and budgets. Users can set monthly targets and visualize their spending behavior.
User Roles: User & Admin
Core Features
- Expense/income tracking with custom categories
- Monthly budget limits and goal setting
- Visual charts (pie/bar) of spending breakdown
- Recurring transactions and alerts
- GraphQL reports for custom date ranges
Tech Stack
- Frontend: React.js, Styled Components, Chart.js
- Backend: Node.js, Express.js
- Database: MongoDB (Expenses, Notes), PostgreSQL (Users, Categories)
- Auth: JWT
- API: REST (transactions), GraphQL (reports)
Learning Outcomes
- Implement calendar-based tracking features
- Use GraphQL for dynamic financial reports
- Apply CRUD operations and budgeting logic
- Design financial dashboards using Chart.js
- Handle currency formatting and value precision
Project 19: Technical Support Ticketing System
Description: A system where users can raise technical issues, and support staff respond with status updates. Admins can assign staff, track ticket status, and generate reports.
User Roles: User, Support Staff & Admin
Core Features
- Ticket creation, comments, and real-time updates
- Status tracking: Open, In Progress, Resolved
- GraphQL-based reports on ticket types, resolution time
- Admin controls for user management and ticket assignment
Tech Stack
- Frontend: React.js, Bootstrap, Notifications API
- Backend: Node.js, Express.js
- Database: MongoDB (Tickets, Conversations), PostgreSQL (Users, Roles)
- Auth: JWT
- API: REST + GraphQL (ticket filtering, status tracking)
Learning Outcomes
- Design support workflows with state transitions
- Store and manage conversation logs in MongoDB
- Apply GraphQL to extract ticketing metrics
- Use role-based rendering for different dashboards
- Build responsive UI with conditional content and notifications
Project 20: Digital Library & Book Sharing Community
Description: A digital library platform where users can upload, borrow, and share digital books. Other users can search books, leave reviews, and build a reading list.
User Roles: User & Admin
Core Features
- Book upload/download with category tagging
- Borrow or wishlist books with expiry periods
- GraphQL filters: genre, author, top-reviewed
- Reading dashboard with history, bookmarks
- Admin: moderate uploads and ban duplicate content
Tech Stack
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB (Books, Reviews), MySQL (Users, Transactions)
- Auth: JWT
- API: REST (borrowing, reviews), GraphQL (filters & recommendations)
Learning Outcomes
- Store digital media & metadata using MongoDB
- Build interactive book listing/search UI
- Implement borrowing logic with expiry reminders
- Use GraphQL for custom queries (e.g., top 5 reads of month)
- Apply secure file handling and preview functionality
Project 21: Online Examination & Proctoring System
Description: A secure exam platform where admins create tests, and students take them with automatic webcam snapshots and activity logging for cheating prevention.
User Roles: Student, Examiner & Admin
Core Features
- Question bank creation with MCQs, true/false, fill-in-the-blank
- Live proctoring using webcam snapshots and tab-change tracking
- Auto-grading and score calculation
- GraphQL analytics: student score trends, question difficulty
Tech Stack
- Frontend: React.js, Tailwind CSS, WebcamJS (for proctoring)
- Backend: Node.js, Express.js
- Database: PostgreSQL (Users, Questions, Scores), MongoDB (Activity Logs, Proctoring Images)
- Auth: JWT
- API: REST (exam logic), GraphQL (student performance analytics)
Learning Outcomes
- Build time-bound logic and validations in React
- Use webcam access and browser monitoring for proctoring
- Design relational schemas for tests and answers
- Generate dynamic GraphQL-based reports
- Handle academic integrity features in a web app
Project 22: Business Intelligence Dashboard for Small Businesses
Description: An intelligent dashboard that tracks business KPIs like revenue, expenses, customer acquisition, and net profit in visual formats.
Core Features
- Upload monthly sales and expense records
- Visualize income, expenses, and profit in real-time
- Track growth trends and forecasts
- Notifications for abnormal data (e.g., sudden loss)
- GraphQL for building dynamic comparison dashboards
Tech Stack
- Frontend: React.js, Recharts or Chart.js
- Backend: Node.js, Express.js
- Database: MySQL (Sales, Expenses), MongoDB (Logs, Notifications)
- Auth: JWT
- API: REST + GraphQL (for dynamic reports)
Learning Outcomes
- Develop data visualizations using Chart.js or Recharts
- Apply ETL logic to transform uploaded CSV to database entries
- Implement advanced filtering using GraphQL
- Design a financial analytics UI
- Apply business logic and alerts using MongoDB
Project 23: Hotel Room Booking & Management System
Description: A full hotel room reservation platform where users can search, book, cancel, or modify bookings. Admins manage rooms, set availability, and view booking reports.
User Roles: User & Admin
Core Features
- Room search by location, amenities, and date range
- Booking calendar with room availability
- Payment gateway simulation
- Booking confirmation with invoice generation
- Admin dashboard using GraphQL for reports
Tech Stack
- Frontend: React.js, Bootstrap, React Date Picker
- Backend: Node.js, Express.js
- Database: PostgreSQL (Rooms, Bookings, Users), MongoDB (Customer Feedback, Logs)
- Auth: JWT
- API: REST (booking system), GraphQL (availability checker)
Learning Outcomes
- Create dynamic availability check using date ranges
- Design booking flows with room inventory control
- Work with transactional data in PostgreSQL
- Build GraphQL-based date-driven reporting dashboards
- Send booking confirmations with downloadable PDF invoices
Project 24: Portfolio & Resume Builder with Live Publishing
Description: A personal portfolio builder where users can input their profile, education, skills, and projects to instantly generate a live hosted resume or download a PDF version.
Core Features
- Resume sections: education, skills, experience, projects
- Live preview of portfolio site
- Export to PDF option
- Host via subdomain or QR code
- GraphQL-based view/download analytics
Tech Stack
- Frontend: React.js, Tailwind CSS, React-to-PDF
- Backend: Node.js, Express.js
- Database: MongoDB (Resume Data, Templates), PostgreSQL (Users)
- Auth: JWT
- API: REST for builder, GraphQL for portfolio analytics
Learning Outcomes
- Work with dynamic rendering and template engines
- Generate print-ready layouts using React-to-PDF
- Use GraphQL for tracking resume views/downloads
- Handle customizable forms and dynamic component rendering
- Build a minimal portfolio CMS workflow
Project 25: HR Management & Employee Self-Service Portal
Description: An internal HR portal where employees manage their profiles, attendance, leave requests, and payslips. HR admins manage payroll, employee records, and reports.
User Roles: Employee, HR & Admin
Core Features
- Employee login and self-service dashboard
- Attendance tracking with punch in/out
- Leave application workflow and approval
- Payroll management with downloadable salary slips
- Admin panel with GraphQL reports on leaves, payroll
Tech Stack
- Frontend: React.js, Bootstrap
- Backend: Node.js, Express.js
- Database: MySQL (Employees, Attendance, Payroll), MongoDB (Leave Requests, Feedback)
- Auth: JWT with role-based access
- API: REST + GraphQL (attendance, payroll analytics)
Learning Outcomes
- Design HR workflows using role-based architecture
- Use cron jobs or time-tracking logic for punch-in/out
- Store and filter structured records using GraphQL
- Generate payslips dynamically using React-PDF
- Apply MySQL for transactional and tabular data
Project 26: Medical History & Patient Record System
Description: Create a health-tech system for doctors to manage patient records, track medical history, and access lab reports, prescriptions, and treatment history securely.
User Roles: Patient, Doctor & Admin
Core Features
- Upload & retrieve prescriptions, lab reports (PDFs/images)
- Appointment booking with patient visit notes
- Patient timeline and disease history visualization
- GraphQL queries for advanced filtering
Tech Stack
- Frontend: React.js, Formik, Tailwind CSS
- Backend: Node.js, Express.js
- Database: PostgreSQL (Patients, Appointments), MongoDB (Reports, Prescriptions, Logs)
- Auth: JWT
- API: REST (appointments & history), GraphQL (filter records by doctor/date/symptoms)
Learning Outcomes
- Handle large patient data across multiple visits
- Implement secure file storage and access control
- Design multi-relational tables (patients, diseases, doctors)
- Use GraphQL to create dynamic patient filtering and reporting
- Integrate medical form validation and status tracking
Project 27: Crime Reporting & City Safety Monitoring System
Description: A public crime reporting portal where citizens can report incidents anonymously or openly. Police/Admin can track, validate, assign cases, and monitor crime patterns across locations.
User Roles: Citizen, Police & Admin
Core Features
- Anonymous crime reporting with location tagging
- Evidence upload (images, documents)
- Map-based crime plotting and heatmaps
- Admin dashboard with GraphQL stats (crime trends, type, area)
Tech Stack
- Frontend: React.js, Map APIs (Google Maps or Leaflet)
- Backend: Node.js, Express.js
- Database: MongoDB (Crime Reports, Evidence), PostgreSQL (Citizens, Police Officers)
- Auth: JWT
- API: REST (reporting), GraphQL (analytics)
Learning Outcomes
- Handle sensitive data securely using role-based access
- Integrate geolocation & live maps in React
- Apply GraphQL analytics for crime prediction/monitoring
- Use hybrid storage models: structured + semi-structured data
- Build civic service apps for real-world use cases
Project 28: Bug Tracker & Software Issue Management Tool
Description: A productivity tool similar to Jira/GitHub Issues, where software teams can manage bugs, track issues by priority/severity, assign tasks, and track fixes.
Core Features
- Create/assign issues with priority, severity, status
- Comment thread on each bug
- Graphical report: bugs by status, module, severity
- Email or in-app notifications on updates
- Admin can view team-wise bug resolution reports
Tech Stack
- Frontend: React.js, Bootstrap, Toast Notifications
- Backend: Node.js, Express.js
- Database: MySQL (Projects, Bugs, Users), MongoDB (Bug Logs, Comments)
- Auth: JWT
- API: REST (bugs, projects), GraphQL (bug filters, project stats)
Learning Outcomes
- Design issue-tracking systems with structured data
- Apply tagging, filtering, and timeline-based comments
- Use GraphQL for filtered and grouped analytics
- Implement update triggers and notifications
- Handle multi-role project access and modular workflows
Project 29: Online Contest & Quiz Platform (with Leaderboards)
Description: Create a live quiz platform with time-limited contests, automatic grading, and a global leaderboard system with topic-based stats.
User Roles: Quiz Creator, Contestant & Admin
Core Features
- MCQ/random question generation with timer
- Real-time scoring and result display
- GraphQL leaderboard and performance charting
- Contest logs (MongoDB) and fraud detection (tab change warning)
Tech Stack
- Frontend: React.js, Styled Components
- Backend: Node.js, Express.js
- Database: PostgreSQL (Questions, Scores, Users), MongoDB (User Logs, Quiz Sessions)
- Auth: JWT
- API: REST (quizzes), GraphQL (leaderboards, question analytics)
Learning Outcomes
- Master quiz logic, scoring, and test validation
- Build global & topic-based leaderboards with GraphQL
- Use event-based triggers for scoring and time-based auto-submit
- Handle cheating prevention mechanisms
- Practice session-level logging using MongoDB
Project 30: GST Billing & Invoicing Software for SMEs
Description: A billing application for small businesses to generate GST-compliant invoices, track payments, maintain client databases, and monitor revenue.
Core Features
- Invoice creation with GST rates, discount logic, PDF download
- Add/edit clients and product catalog
- Due payment tracker and reminders
- Templates for invoice branding (stored in MongoDB)
- Admin dashboard with GST reports (GraphQL)
Tech Stack
- Frontend: React.js, Print-to-PDF
- Backend: Node.js, Express.js
- Database: MySQL (Invoices, Items, Clients), MongoDB (Templates, Notes)
- Auth: JWT
- API: REST (invoice operations), GraphQL (report generation)
Learning Outcomes
- Design financial record management using MySQL
- Format and render downloadable/printable PDFs
- Apply tax computations and numeric formatting
- Store reusable templates and branding info in MongoDB
- Use GraphQL for filtered monthly/yearly reports
