Skip to content
dylanatl15Public

About

Home-services marketplace connecting clients with providers: booking, payments and reviews on a PostgreSQL schema with strict integrity rules.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

🏠 HomeNeeds

A marketplace that connects people who need a job done at home with the independent providers who do it.

Cleaners, plumbers, electricians: providers list the services they offer and their hourly rate, clients find them, book an appointment, pay, and leave a review. HomeNeeds was built as a database-course project, so the relational design is the star: every rule (one payment per job, one review per job, ratings between 1 and 5, no negative money) is enforced by the database itself, not just by application code.

The flow

discover a provider → book a job → record the payment → review the work

Data model

users (client or provider) · cities · services · provider_services (M:N with a rate) · job_appointments · payments (0..1 per job) · reviews (0..1 per job, rating CHECK 1–5)

Integrity is expressed with foreign keys, unique constraints and CHECK constraints, evolved through three Alembic migrations (0001_init, 0002_user_auth_fields, 0003_cities_and_user_city).

Architecture

Three modules, as required by the course brief:

Module Tech
Data store PostgreSQL in Docker
Data processing FastAPI + SQLAlchemy 2.0 + Alembic
Presentation Server-rendered Jinja templates (landing, register/login, client and provider dashboards, booking, job detail)

Run it

cd ProjectImplementation
cp .env.example .env
docker compose up --build
./scripts/migrate.sh && ./scripts/seed.sh

The app serves the UI at / and interactive OpenAPI docs at /docs. scripts/smoke.sh runs an end-to-end check.

ProjectDocuments/ holds the final write-up (with team member names and demo credentials removed).

About

Home-services marketplace connecting clients with providers: booking, payments and reviews on a PostgreSQL schema with strict integrity rules.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages