Skip to content

Project · Full-Stack Development

Project: a homework tracker for a coaching class

Projectbeginner· about 5 hours· 6 steps

The brief

Padhai Point, a coaching class in Kota, wants students to see their homework and teachers to see who has not submitted. Write the SQL behind three screens (this week's homework, pending work, a page of submissions) and the route handlers that use it: query parsing, a list endpoint with paging and batch checks, and a submit endpoint that marks late work.

Why it matters

Coaching institutes, schools and colleges across India are moving homework, tests and attendance onto apps like this. The backend work is always the same shape: a query per screen, paging so lists stay fast, and handlers that check who is asking before answering.

Skills you practise

  • WHERE with BETWEEN
  • finding missing rows with LEFT JOIN
  • LIMIT and OFFSET paging
  • parsing query strings
  • a list endpoint with paging metadata
  • role and batch checks
  • deadlines in Indian time

What you will have at the end

Three SQL files (the queries behind the screens) and homework.js (query parsing, the list endpoint and the submit endpoint), all tested.

How it is marked (rubric, 100 points)
Correct resultsEvery check passes.40
Safe and fairBatch and role checks on every request, limits capped, deadlines in Indian time.25
Good SQLReadable joins, missing rows found with LEFT JOIN … IS NULL, stable ordering for paging.20
Clean codeSmall helpers, a repository instead of SQL in handlers, one error shape.15

0/6 steps done

Step 1 of 6

This week's homework

01-this-week.sql returns id, subject, title and due_on of the JEE-A homework due from 2026-10-19 to 2026-10-25 (both days included), earliest first.

This is the query behind the student's home screen. BETWEEN includes both ends, which is what "this week" means. Dates stored as text in the YYYY-MM-DD format sort and compare correctly as text, which is one reason that format is the standard.

Run shows what your code prints. Check runs the step's tests. Ctrl+Enter checks too.