Start with a feature
A database project is easier when you model one real feature, not a full app. Pick something a user can do and a recruiter can understand in 30 seconds.
Good examples: track mess payments, save internship applications, list hostel repair requests, manage club event registrations, or record UPI expense splits.
One idea
Model the data your feature must remember. Do not start with screens, buttons, or a full startup idea.
A table stores one kind of thing. A row stores one example of that thing. A column stores one fact about it.
Choose the scope
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done
Worked example
Feature: hostel students submit repair requests. The first version only needs one table.
You are not solving login, admin dashboards, or notifications yet. You are modelling the core data.
Feature: Hostel repair requests
User action:
A student reports a problem in their room.
Facts to store:
- student_name
- hostel_name
- room_number
- issue_title
- issue_description
- status
- created_at
Table:
repair_requests
Sample row:
Asha Nair | Ganga Hostel | B-204 | Fan not working | Fan stopped last night | open | 2026-09-20First schema file
Create a folder named sql. Put your first table design in sql/schema.sql.
This is only the model. Later lessons will improve it with keys and relationships.
CREATE TABLE repair_requests (
student_name TEXT,
hostel_name TEXT,
room_number TEXT,
issue_title TEXT,
issue_description TEXT,
status TEXT,
created_at TEXT
);Seed data file
Seed data makes your repo easy to run and inspect. Add a few realistic rows, not private data from real people.
Use simple names and Indian campus examples if they fit your feature.
INSERT INTO repair_requests (
student_name,
hostel_name,
room_number,
issue_title,
issue_description,
status,
created_at
) VALUES
('Asha Nair', 'Ganga Hostel', 'B-204', 'Fan not working', 'Fan stopped last night', 'open', '2026-09-20'),
('Rohan Mehta', 'Kaveri Hostel', 'A-118', 'Leaking tap', 'Water leaking near washbasin', 'open', '2026-09-20'),
('Iqbal Khan', 'Narmada Hostel', 'C-310', 'Tube light flickers', 'Light flickers during evening study time', 'closed', '2026-09-19');Common mistake
Beginners often model the whole app at once: users, payments, roles, reports, chat, and analytics. That makes the repo unfinished.
For this track, a small finished feature beats a large half-built database. You can add more tables after the core feature works.
Do this now
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done