1) InventoryPro CLI: Warehouse Stock and Supplier Management
What you are going to build?
A command-line application used by a small warehouse to manage products, suppliers, stock in/out,
and to keep a permanent record of every stock movement. The main learning goal is to show how
real businesses maintain stock accuracy and audit history.
Core modules
1. Product module
Stores product details such as product code, name, category, unit price, and current quantity.
2. Supplier module
Stores supplier details and links products to suppliers.
3. Stock transaction module
Every time stock is added or removed, store a transaction record (type: IN or OUT, quantity,
timestamp, note).
CLI flow
• Admin logs in (simple username/password stored in DB or hardcoded for the assignment).
• After login, the admin can:
1. Add a product
2. Update product price/category
3. Add a supplier
4. Map supplier to product
5. Stock IN (increase quantity)
6. Stock OUT (decrease quantity)
7. View all products
8. View low-stock products (quantity below a threshold)
9. View stock transaction history for a product
Rules and validations
• Stock OUT cannot make quantity negative.
• Product code must be unique.
• Every stock change must be recorded in the transaction table.
Suggested database tables
• products(product_code, name, category, price, qty)
• suppliers(supplier_id, name, phone, email)
• product_suppliers(product_code, supplier_id)
• stock_txn(id, product_code, txn_type, qty, timestamp, note)
2) LibraryDesk CLI: Library Book Issue, Return, and Overdue Tracking
What you are going to build?
A CLI system that a librarian can use to register members, maintain book inventory, issue books,
return books, and check overdue borrowings. This project teaches relational thinking (books,
members, borrow records) and real-world rule enforcement.
Core modules
1. Books module
Add and view books; maintain available copies.
2. Members module
Register library members.
3. Borrow/Return module
Issue a book to a member and record the date; return the book and record return date.
4. Overdue reporting module
Show which borrow records are overdue based on a due date rule.
CLI flow
Pre-login menu:
1. Register member
2. Librarian login
3. Exit
Logged-in menu:
1. Add book
2. View/search books
3. Issue book
4. Return book
5. View member borrow history
6. View overdue list
7. Logout
Rules and validations
• A book can be issued only if availableCopies > 0.
• On issue: availableCopies decreases by 1.
• On return: availableCopies increases by 1.
• Overdue is calculated as issueDate + allowedDays < today.
Suggested database tables
• books(book_id, title, author, category, available_copies)
• members(member_id, name, phone)
• borrow_txn(id, book_id, member_id, issue_date, due_date, return_date, status)
3) ClinicQueue CLI: Doctor Scheduling, Appointments, and Billing
What you are going to build?
A CLI system for a small clinic that manages patients, doctors, appointment booking, and
billing/payment status. Students learn about schedule conflicts, foreign key relationships, and
transactional updates.
Core modules
1. Doctor module
Add doctors and list them by specialization.
2. Patient module
Register patients.
3. Appointment module
Book appointments (doctor + patient + date + time).
4. Billing module
Generate a bill for an appointment and mark payment as paid/unpaid.
CLI flow
1. Register patient
2. Add doctor
3. View doctors
4. Book appointment
5. Cancel appointment
6. View doctor’s schedule (date-wise)
7. Generate bill
8. Pay bill
9. View patient appointment history
10. Exit
Rules and validations
• Prevent double booking: same doctor cannot have two appointments at the same date/time.
• Appointment must reference a valid doctor and patient.
• Bill should reference a valid appointment.
• Canceling an appointment should also handle related billing rules (either delete bill or mark
as canceled).
Suggested database tables
• doctors(doctor_id, name, specialization)
• patients(patient_id, name, age, phone)
• appointments(appt_id, doctor_id, patient_id, appt_date, appt_time, status)
• bills(bill_id, appt_id, amount, paid_status, created_at)
4) ExamForge CLI: MCQ Exam Creation, Attempt, and Result Management
What you are going to build?
A CLI “test platform” where an admin creates exams and MCQ questions, and students log in to
attempt exams. The system auto-evaluates answers and stores results. This is close to real
assessment software logic.
Core modules
1. Student module
Register/login students.
2. Admin module
Admin login, exam creation.
3. Question bank module
Add MCQ questions linked to an exam.
4. Exam attempt module
Show questions one by one, collect answers, compute score.
5. Result module
Save results and allow student/admin to view.
CLI flow
Pre-login:
1. Student register
2. Student login
3. Admin login
4. Exit
Admin menu:
1. Create exam (name, duration, total marks)
2. Add questions to exam (question, 4 options, correct option)
3. View exams
4. View all student results for an exam
5. Logout
Student menu:
1. View available exams
2. Attempt exam
3. View my results
4. Logout
Rules and validations
• Questions must be tied to an exam.
• Student can attempt the same exam only once (or allow multiple attempts but store attempt
number).
• Store each attempt’s answers for audit (optional but recommended).
Suggested database tables
• students(student_id, name, email, password)
• admins(admin_id, username, password)
• exams(exam_id, title, duration_minutes)
• questions(q_id, exam_id, question_text, opt_a, opt_b, opt_c, opt_d, correct_opt)
• attempts(attempt_id, exam_id, student_id, start_time, end_time, score)
• attempt_answers(id, attempt_id, q_id, chosen_opt, is_correct)
5) SpendWise CLI: Personal Finance and Budget Tracker
What you are going to build?
A CLI tool to track income and expenses category-wise and month-wise, calculate summaries, and
compare spending with budget limits. Students learn aggregation queries and building reports from
stored data.
Core modules
1. User module
Register/login.
2. Income module
Add income entries with date and source.
3. Expense module
Add expenses with date, category, and notes.
4. Budget module
Set monthly budget per category or overall.
5. Reporting module
Monthly totals, category totals, savings calculation, budget exceeded alerts.
CLI flow
Pre-login:
1. Register
2. Login
3. Exit
Logged-in:
1. Add income
2. Add expense
3. Set monthly budget
4. View monthly summary (income, expense, savings)
5. View category-wise spending
6. View budget alerts (spent > budget)
7. Logout
Rules and validations
• Amount must be positive.
• Reports should be filterable by month and year.
• Budget checks should be computed from expense totals.
Suggested database tables
• users(user_id, name, email, password)
• income(id, user_id, amount, source, income_date)
• expenses(id, user_id, amount, category, note, expense_date)
• budgets(id, user_id, month, year, category, budget_amount)
6) CourseTrack CLI: Student Course Registration and Grade Management System
What you are going to build?
A command-line system for a college to manage courses, student enrollment, and grade recording.
This project helps students understand many-to-many relationships (students ↔ courses) and basic
academic record handling.
Core modules
1. Student module
Store student details such as student ID, name, email, and department.
2. Course module
Store course details such as course code, title, credits, and instructor name.
3. Enrollment module
Allow students to enroll in courses and store enrollment records.
4. Grade module
Allow faculty/admin to assign grades to enrolled students.
CLI flow
Pre-login menu:
1. Student registration
2. Student login
3. Admin login
4. Exit
Admin menu:
1. Add course
2. View courses
3. View all students
4. Enroll student into course
5. Assign/update grade
6. View course enrollment list
7. Logout
Student menu:
1. View available courses
2. Enroll in course
3. View my courses
4. View my grades
5. Logout
Rules and validations
• A student cannot enroll in the same course twice.
• Grades can only be assigned if the student is enrolled.
• Course code must be unique.
Suggested tables
• students(student_id, name, email, department, password)
• courses(course_code, title, credits, instructor)
• enrollments(id, student_id, course_code, grade)
7) EventSphere CLI: Event Registration and Ticket Booking System
What you are going to build?
A CLI system for managing events and participant registrations. It simulates ticket booking and seat
tracking for seminars, workshops, or college festivals.
Core modules
1. Event module
Create and manage events with date, venue, maximum seats, and registration fee.
2. Participant module
Register users who can book seats for events.
3. Booking module
Handle seat allocation and booking confirmation.
4. Payment tracking module
Store whether payment is completed or pending.
CLI flow
Pre-login:
1. Register participant
2. Login
3. Exit
Admin menu:
1. Create event
2. View events
3. View registrations per event
4. Cancel event
5. Logout
Participant menu:
1. View available events
2. Register for event
3. Cancel booking
4. View my bookings
5. Logout
Rules and validations
• Seats cannot exceed maximum capacity.
• If event is full, no further bookings allowed.
• Canceling a booking frees up a seat.
Suggested tables
• events(event_id, title, date, venue, max_seats, fee)
• participants(participant_id, name, email, password)
• bookings(id, event_id, participant_id, status, payment_status)
8) HelpDesk CLI: IT Support Ticket Management System
What you are going to build?
A CLI-based internal support ticket system used in companies to manage technical complaints and
resolution tracking.
Core modules
1. User module
Employees can register and log complaints.
2. Ticket module
Create tickets with category, description, and priority.
3. Admin/Support module
View, assign, update, and close tickets.
4. Status tracking module
Maintain ticket state: OPEN, IN_PROGRESS, RESOLVED, CLOSED.
CLI flow
Pre-login:
1. Register user
2. User login
3. Admin login
4. Exit
User menu:
1. Raise new ticket
2. View my tickets
3. Reopen closed ticket
4. Logout
Admin menu:
1. View all tickets
2. Assign ticket to technician
3. Change ticket status
4. View tickets by status
5. Logout
Rules and validations
• Ticket priority must be LOW, MEDIUM, or HIGH.
• Only admin can change ticket status.
• Closed tickets should not be modified unless reopened.
Suggested tables
• users(user_id, name, department, password)
• tickets(ticket_id, user_id, category, description, priority, status, created_at, updated_at)
9) RentalHub CLI: Equipment Rental and Return System
What you are going to build?
A CLI system for renting items such as cameras, laptops, or sports equipment. The system tracks item
availability and rental periods.
Core modules
1. Item module
Store item details such as item ID, name, rental price per day, and available quantity.
2. Customer module
Register customers who can rent items.
3. Rental transaction module
Record rental start date, expected return date, and actual return date.
4. Billing module
Calculate rental cost based on days used.
CLI flow
Pre-login:
1. Register customer
2. Login
3. Exit
Admin menu:
1. Add item
2. View items
3. View rental transactions
4. Logout
Customer menu:
1. View available items
2. Rent item
3. Return item
4. View my rentals
5. Logout
Rules and validations
• Cannot rent if quantity = 0.
• On rental, decrease quantity.
• On return, increase quantity.
• Late return may incur extra charge.
Suggested tables
• items(item_id, name, price_per_day, quantity)
• customers(customer_id, name, phone, password)
• rentals(rental_id, item_id, customer_id, rent_date, due_date, return_date, total_amount)
10) PollMaster CLI: Survey and Voting Management System
What you are going to build?
A CLI-based polling system where an admin creates surveys and users vote. The system prevents
duplicate voting and displays results.
Core modules
1. User module
Register/login voters.
2. Survey module
Admin creates surveys with multiple options.
3. Voting module
Users select one option per survey.
4. Result module
Calculate and display vote counts and percentages.
CLI flow
Pre-login:
1. Register
2. Login
3. Admin login
4. Exit
Admin menu:
1. Create survey
2. Add options to survey
3. View survey results
4. Close survey
5. Logout
User menu:
1. View active surveys
2. Vote
3. View my voting history
4. Logout
Rules and validations
• A user can vote only once per survey.
• Cannot vote in a closed survey.
• Survey must have at least two options before activation.
Suggested tables
• users(user_id, name, email, password)
• surveys(survey_id, title, status)
• options(option_id, survey_id, option_text, vote_count)
• votes(id, survey_id, user_id, option_id)
11) HostelMate CLI: Hostel Room Allocation and Fee Management System
What you are going to build?
A command-line application to manage hostel room allocation, student check-in/check-out, and fee
tracking. This simulates how colleges manage hostel occupancy and payments.
Core modules
1. Student module
Store student details (ID, name, course, year, contact).
2. Room module
Store room details (room number, type, capacity, occupied count, monthly rent).
3. Allocation module
Assign students to rooms and track occupancy.
4. Fee module
Record monthly hostel fee payments and pending dues.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add room
2. Register student
3. Allocate room
4. Vacate room
5. Record fee payment
6. View room occupancy
7. View unpaid students
8. Logout
Rules and validations
• A room cannot exceed its capacity.
• A student cannot be allocated to multiple rooms simultaneously.
• Vacating a room should decrease occupied count.
Suggested tables
• students(student_id, name, course, year, contact)
• rooms(room_no, type, capacity, occupied, rent)
• allocations(id, student_id, room_no, checkin_date, checkout_date, status)
• payments(id, student_id, month, year, amount, status)
12) PayrollPlus CLI: Employee Payroll and Salary Processing System
What you are going to build?
A CLI-based payroll management system that calculates salaries based on attendance, allowances,
and deductions.
Core modules
1. Employee module
Store employee details (ID, name, designation, base salary).
2. Attendance module
Record working days per month.
3. Salary calculation module
Calculate gross salary, deductions (tax, leave), and net salary.
4. Payslip module
Generate and store monthly salary records.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add employee
2. Record attendance
3. Calculate salary
4. Generate payslip
5. View payroll report (month-wise)
6. Logout
Rules and validations
• Salary should not be calculated without attendance data.
• Net salary = base + allowances − deductions.
• Payslip should be stored for future reference.
Suggested tables
• employees(emp_id, name, designation, base_salary)
• attendance(id, emp_id, month, year, working_days)
• payroll(id, emp_id, month, year, gross_salary, deductions, net_salary)
13) TransportTrack CLI: Bus Pass and Route Management System
What you are going to build?
A CLI system to manage bus routes, student passes, and monthly renewals.
Core modules
1. Route module
Store route ID, source, destination, distance, and fare.
2. Student module
Register students applying for bus passes.
3. Pass module
Issue monthly passes linked to routes.
4. Renewal module
Renew or expire passes.
CLI flow
Pre-login:
1. Register student
2. Login
3. Admin login
4. Exit
Admin menu:
1. Add route
2. View routes
3. Issue pass
4. Renew pass
5. View expired passes
6. Logout
Student menu:
1. View my pass
2. Check expiry status
3. Logout
Rules and validations
• Pass expiry date must be validated.
• Renewal should extend expiry date.
• A student can have only one active pass at a time.
Suggested tables
• routes(route_id, source, destination, distance, fare)
• students(student_id, name, department, password)
• passes(pass_id, student_id, route_id, issue_date, expiry_date, status)
14) WarehouseOrders CLI: Order Processing and Shipment Tracking System
What you are going to build?
A CLI system for processing customer orders, updating inventory, and tracking shipment status.
Core modules
1. Product module
Store product inventory details.
2. Customer module
Store customer details.
3. Order module
Create and manage orders containing multiple products.
4. Shipment module
Track shipment status (PENDING, SHIPPED, DELIVERED).
CLI flow
Pre-login:
1. Customer register
2. Customer login
3. Admin login
4. Exit
Customer menu:
1. View products
2. Place order
3. View my orders
4. Logout
Admin menu:
1. Add product
2. Update stock
3. View all orders
4. Update shipment status
5. Logout
Rules and validations
• Order cannot be placed if stock is insufficient.
• Placing order reduces stock quantity.
• Shipment status must follow logical progression.
Suggested tables
• products(product_id, name, price, quantity)
• customers(customer_id, name, email, password)
• orders(order_id, customer_id, order_date, total_amount, status)
• order_items(id, order_id, product_id, quantity, price)
15) GymManager CLI: Membership and Subscription Tracking System
What you are going to build?
A CLI application to manage gym members, membership plans, payments, and renewal status.
Core modules
1. Member module
Register gym members.
2. Plan module
Store membership plans (monthly, quarterly, yearly).
3. Subscription module
Assign plan to member and track expiry.
4. Payment module
Record payment details and renewal.
CLI flow
Pre-login:
1. Register member
2. Login
3. Admin login
4. Exit
Admin menu:
1. Add membership plan
2. View members
3. Assign plan
4. Renew subscription
5. View expired memberships
6. Logout
Member menu:
1. View my subscription
2. Check expiry date
3. Logout
Rules and validations
• A member cannot have multiple active plans simultaneously.
• Renewal extends expiry from current expiry date.
• Expired members should be identified in reports.
Suggested tables
• members(member_id, name, phone, password)
• plans(plan_id, name, duration_months, fee)
• subscriptions(sub_id, member_id, plan_id, start_date, expiry_date, status)
• payments(payment_id, member_id, amount, payment_date)
16) AssetCare CLI: Company Asset Tracking and Maintenance System
What you are going to build?
A CLI system to manage company-owned assets such as laptops, projectors, and vehicles. The system
tracks allocation and maintenance history.
Core modules
1. Asset module
Store asset ID, type, purchase date, condition, and status.
2. Employee allocation module
Assign assets to employees.
3. Maintenance module
Log maintenance events and service costs.
4. Status reporting module
Show available, allocated, and under-maintenance assets.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add asset
2. View assets
3. Allocate asset to employee
4. Return asset
5. Record maintenance
6. View maintenance history
7. Logout
Rules and validations
• Asset cannot be allocated if already allocated or under maintenance.
• Maintenance records must store date and cost.
• Returning asset changes status to AVAILABLE.
Suggested tables
• assets(asset_id, type, purchase_date, status, condition_note)
• allocations(id, asset_id, employee_name, allocated_date, returned_date, status)
• maintenance(id, asset_id, service_date, cost, remarks)
17) HotelEase CLI: Hotel Room Booking and Billing System
What you are going to build?
A command-line hotel management system that allows hotel staff to manage room bookings, guest
check-ins/check-outs, and billing calculations. The system should simulate how hotels track
occupancy and generate final invoices.
Core modules
Room module
Store room number, type (Single/Double/Suite), price per night, and availability status.
Guest module
Store guest details such as ID, name, phone, and ID proof number.
Booking module
Handle room booking, check-in date, check-out date, and booking status.
Billing module
Calculate total stay cost based on number of nights and room rate.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add room
2. View rooms
3. Register guest
4. Book room
5. Check-out guest
6. Generate bill
7. View active bookings
8. Logout
Rules and validations
• A room cannot be booked if already occupied.
• Total bill = number of nights × room rate.
• Check-out should update room availability.
Suggested tables
rooms(room_no, type, price_per_night, status)
guests(guest_id, name, phone, id_proof)
bookings(booking_id, guest_id, room_no, checkin_date, checkout_date, total_amount, status)
18) CourierLink CLI: Parcel Tracking and Delivery Management System
What you are going to build?
A CLI system that manages parcel shipments, tracks delivery status, and records sender and receiver
details.
Core modules
Customer module
Store sender and receiver information.
Parcel module
Store parcel ID, weight, type, shipping cost, and delivery status.
Tracking module
Update parcel status through stages such as BOOKED, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED.
CLI flow
Pre-login:
1. Register customer
2. Login
3. Admin login
4. Exit
Customer menu:
1. Book parcel
2. Track parcel
3. View my parcels
4. Logout
Admin menu:
1. View all parcels
2. Update parcel status
3. View delivery summary
4. Logout
Rules and validations
• Parcel ID must be unique.
• Status must follow correct progression.
• Shipping cost can be calculated based on weight.
Suggested tables
customers(customer_id, name, phone, password)
parcels(parcel_id, sender_id, receiver_name, weight, cost, status, booking_date)
19) RestaurantPro CLI: Restaurant Order and Table Management System
What you are going to build?
A CLI-based restaurant system to manage tables, menu items, customer orders, and billing.
Core modules
Table module
Store table number, seating capacity, and occupancy status.
Menu module
Store food items, category, and price.
Order module
Create orders linked to tables and multiple menu items.
Billing module
Calculate total bill including tax.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add menu item
2. View menu
3. Add table
4. Take order
5. Close order
6. Generate bill
7. View daily sales
8. Logout
Rules and validations
• Table must be available to take order.
• Order must contain at least one item.
• Closing order frees the table.
Suggested tables
tables(table_no, capacity, status)
menu(item_id, name, category, price)
orders(order_id, table_no, order_date, total_amount, status)
order_items(id, order_id, item_id, quantity, price)
20) PropertyRent CLI: House Rental Management System
What you are going to build?
A CLI application for managing rental properties, tenants, lease agreements, and rent payments.
Core modules
Property module
Store property ID, address, rent amount, and availability.
Tenant module
Store tenant details.
Lease module
Create lease agreements with start and end dates.
Payment module
Track monthly rent payments and pending dues.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add property
2. Register tenant
3. Create lease
4. Record rent payment
5. View unpaid tenants
6. End lease
7. Logout
Rules and validations
• Property cannot have multiple active leases.
• Lease end date must be after start date.
• Rent payment must match lease.
Suggested tables
properties(property_id, address, rent, status)
tenants(tenant_id, name, phone)
leases(lease_id, property_id, tenant_id, start_date, end_date, status)
payments(payment_id, lease_id, month, year, amount, status)
21) InventoryAudit CLI: Asset Purchase and Depreciation Tracking System
What you are going to build?
A CLI system to track purchased company assets and calculate yearly depreciation.
Core modules
Asset module
Store asset name, purchase cost, purchase date, and expected lifespan.
Depreciation module
Calculate yearly depreciation using straight-line method.
Report module
Display current book value of assets.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add asset
2. View assets
3. Calculate depreciation
4. View asset value report
5. Logout
Rules and validations
• Lifespan must be greater than zero.
• Book value should not go below zero.
Suggested tables
assets(asset_id, name, purchase_cost, purchase_date, lifespan_years)
22) VotingBooth CLI: Local Election Management System
What you are going to build?
A CLI-based election system to manage candidates, voters, and vote counting for a local election.
Core modules
Candidate module
Add candidates with party affiliation.
Voter module
Register voters with unique voter ID.
Voting module
Allow each voter to cast one vote.
Result module
Display vote count and winner.
CLI flow
Pre-login:
1. Register voter
2. Login voter
3. Admin login
4. Exit
Admin menu:
1. Add candidate
2. View candidates
3. View results
4. Close election
5. Logout
Voter menu:
1. Cast vote
2. View voting status
3. Logout
Rules and validations
• Voter can vote only once.
• Voting cannot occur after election is closed.
Suggested tables
voters(voter_id, name, password, has_voted)
candidates(candidate_id, name, party, vote_count)
23) WarehouseDispatch CLI: Dispatch and Delivery Assignment System
What you are going to build?
A CLI system that manages warehouse dispatch operations and assigns deliveries to drivers.
Core modules
Product module
Store available products and quantities.
Dispatch module
Create dispatch orders for customers.
Driver module
Assign drivers to deliveries.
Status module
Track delivery completion.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add driver
2. Create dispatch
3. Assign driver
4. Update delivery status
5. View dispatch history
6. Logout
Rules and validations
• Dispatch cannot be created if stock insufficient.
• Driver must be available before assignment.
Suggested tables
drivers(driver_id, name, status)
dispatch(dispatch_id, product_id, quantity, driver_id, status)
24) ClinicPharma CLI: Pharmacy Stock and Prescription System
What you are going to build?
A CLI application for managing medicines, prescriptions, and stock tracking in a pharmacy.
Core modules
Medicine module
Store medicine name, batch number, expiry date, price, and quantity.
Prescription module
Record prescriptions with patient name and prescribed medicines.
Sales module
Reduce stock when medicines are sold.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add medicine
2. View medicines
3. Record prescription
4. Sell medicine
5. View expired medicines
6. Logout
Rules and validations
• Cannot sell expired medicine.
• Quantity cannot go negative.
• Expiry date must be validated.
Suggested tables
medicines(medicine_id, name, batch_no, expiry_date, price, quantity)
prescriptions(prescription_id, patient_name, date)
25) WorkshopScheduler CLI: Training Workshop Management System
What you are going to build?
A CLI system for managing training workshops, trainers, participant registrations, and attendance.
Core modules
Workshop module
Store workshop details such as title, trainer, date, and capacity.
Participant module
Register participants.
Registration module
Enroll participants into workshops.
Attendance module
Mark attendance and generate report.
CLI flow
Pre-login:
1. Register participant
2. Login
3. Admin login
4. Exit
Admin menu:
1. Create workshop
2. View workshops
3. View registrations
4. Mark attendance
5. Generate attendance report
6. Logout
Participant menu:
1. View workshops
2. Register for workshop
3. View my registrations
4. Logout
Rules and validations
• Workshop cannot exceed capacity.
• Attendance can be marked only for registered participants.
Suggested tables
workshops(workshop_id, title, trainer, date, capacity)
participants(participant_id, name, password)
registrations(id, workshop_id, participant_id, attendance_status)
26) InsuranceManager CLI: Policy and Claim Processing System
What you are going to build?
A command-line insurance management system that allows an insurance company to manage
customers, policies, premium payments, and claim processing. The system should simulate real-
world insurance workflows including approval and rejection of claims.
Core modules
Customer module
Store customer details such as customer ID, name, contact number, and address.
Policy module
Create and manage insurance policies (policy number, type, coverage amount, premium amount,
duration).
Premium payment module
Record periodic premium payments and track pending dues.
Claim module
Allow customers to file claims and enable admin to approve or reject them.
CLI flow
Pre-login:
1. Register customer
2. Customer login
3. Admin login
4. Exit
Customer menu:
1. View my policies
2. Pay premium
3. File claim
4. View claim status
5. Logout
Admin menu:
1. Create policy
2. Assign policy to customer
3. View all policies
4. Review claims
5. Approve/Reject claim
6. Logout
Rules and validations
• Claim amount cannot exceed coverage amount.
• A claim cannot be processed if premiums are unpaid.
• Policy number must be unique.
Suggested tables
customers(customer_id, name, phone, address, password)
policies(policy_no, type, coverage_amount, premium_amount, duration_years)
customer_policies(id, customer_id, policy_no, start_date, end_date, status)
premium_payments(id, customer_id, policy_no, amount, payment_date)
claims(claim_id, policy_no, customer_id, claim_amount, status, filed_date)
27) ManufacturingLine CLI: Production and Work Order Tracking System
What you are going to build?
A CLI system to manage manufacturing production orders, track raw material consumption, and
record finished goods output.
Core modules
Product module
Store finished product details and required raw materials.
Raw material module
Maintain raw material inventory.
Work order module
Create production orders specifying quantity to produce.
Consumption module
Deduct raw materials when production is completed.
CLI flow
Pre-login:
1. Admin login
2. Exit
Admin menu:
1. Add raw material
2. Add product with material requirements
3. Create work order
4. Complete work order
5. View inventory levels
6. View production history
7. Logout
Rules and validations
• Work order cannot be completed if raw materials are insufficient.
• Completing work order increases finished goods stock.
• Raw material quantity cannot become negative.
Suggested tables
raw_materials(material_id, name, quantity)
products(product_id, name, stock_quantity)
bill_of_materials(id, product_id, material_id, required_quantity)
work_orders(order_id, product_id, quantity, status, created_date)
28) BankingLoan CLI: Loan Application and EMI Tracking System
What you are going to build?
A CLI application that manages loan applications, approval processing, and EMI repayment tracking
for a bank.
Core modules
Customer module
Register customers applying for loans.
Loan module
Store loan details such as loan ID, principal amount, interest rate, tenure, and status.
Approval module
Admin approves or rejects loan applications.
EMI module
Calculate monthly EMI and track repayments.
CLI flow
Pre-login:
1. Register customer
2. Customer login
3. Admin login
4. Exit
Customer menu:
1. Apply for loan
2. View loan status
3. Pay EMI
4. View repayment history
5. Logout
Admin menu:
1. View loan applications
2. Approve/Reject loan
3. View active loans
4. Logout
Rules and validations
• EMI calculation should follow standard formula.
• Customer cannot apply for multiple active loans of same type.
• Loan cannot be repaid after full settlement.
Suggested tables
customers(customer_id, name, phone, password)
loans(loan_id, customer_id, principal, interest_rate, tenure_months, status)
emi_payments(id, loan_id, amount, payment_date)
29) EClinicRecords CLI: Electronic Medical Record System
What you are going to build?
A CLI system for maintaining patient medical records including visit history, diagnoses, and
prescriptions.
Core modules
Patient module
Register patients with demographic information.
Doctor module
Store doctor details and specialization.
Visit module
Record patient visits with diagnosis notes.
Prescription module
Store medicines prescribed during each visit.
CLI flow
Pre-login:
1. Register patient
2. Login patient
3. Admin/Doctor login
4. Exit
Doctor menu:
1. Add doctor
2. View patients
3. Record new visit
4. Add prescription
5. View patient history
6. Logout
Patient menu:
1. View my medical history
2. View prescriptions
3. Logout
Rules and validations
• Each visit must be linked to a valid patient and doctor.
• Prescription cannot exist without visit record.
• Medical history should be viewable chronologically.
Suggested tables
patients(patient_id, name, age, phone, password)
doctors(doctor_id, name, specialization)
visits(visit_id, patient_id, doctor_id, visit_date, diagnosis_notes)
prescriptions(prescription_id, visit_id, medicine_name, dosage)
30) ResearchGrant CLI: Research Proposal and Funding Management System
What you are going to build?
A CLI application to manage research proposals submitted by faculty members and track funding
approval and utilization.
Core modules
Researcher module
Store researcher details and department.
Proposal module
Submit research proposals with requested budget and description.
Review module
Admin reviews and approves or rejects proposals.
Funding module
Track fund allocation and expenditure.
CLI flow
Pre-login:
1. Register researcher
2. Researcher login
3. Admin login
4. Exit
Researcher menu:
1. Submit proposal
2. View proposal status
3. Update expenditure details
4. Logout
Admin menu:
1. View proposals
2. Approve/Reject proposal
3. Allocate funds
4. View funding reports
5. Logout
Rules and validations
• Approved funding cannot exceed requested budget.
• Expenditure cannot exceed allocated funds.
• Proposal status must change logically (SUBMITTED → APPROVED/REJECTED).
Suggested tables
researchers(researcher_id, name, department, password)
proposals(proposal_id, researcher_id, title, requested_budget, status)
funds(fund_id, proposal_id, allocated_amount)
expenditures(id, proposal_id, amount, description, date)