0% found this document useful (0 votes)
2 views35 pages

Java CLI Project Description

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views35 pages

Java CLI Project Description

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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)

You might also like