Back to all projects
web app 2023 Lead Developer (B.Tech Capstone Project)

Listify: Business Discovery & Ratings Platform

A server-rendered business directory and rating platform built in core PHP and Bootstrap with Argon2id authentication, MySQL relational schema, and Playwright test coverage.

Technologies & Tools

php mysql bootstrap javascript playwright ssr

The Challenge

During undergraduate engineering studies, local commercial establishments, healthcare clinics, and educational institutions in Kashmir lacked a unified, searchable web directory. Small businesses relied primarily on informal social messaging groups without persistent physical addresses, verified contact information, operating categories, or structured customer feedback mechanisms.


Architectural Solutions & Server-Side Rendering

[Browser Client]


 [Apache / Nginx] ──(FastCGI)──> [Core PHP 8.2 Runtime]

                   ┌─────────────────────┴─────────────────────┐
                   ▼                                           ▼
       [Session & Auth Engine]                      [MySQL / MariaDB]
      (Argon2id Hash / Cookies)                 (Indexed Catalog Schema)
                   │                                           │
                   └─────────────────────┬─────────────────────┘

                             [Bootstrap 5 SSR HTML]

1. Relational Database Modeling & Cascade Integrity

Designed a normalized relational schema in MySQL/MariaDB consisting of structured entities for users, business listings, customer reviews, and persistent authentication sessions:

  • Cascade Referential Integrity: Implemented foreign key constraints with ON DELETE CASCADE across sessions and listings, ensuring orphaned records are purged automatically upon user deletion.
  • Spatial Coordinates: Preserved double-precision latitude and longitude fields per listing to support geographic mapping, radius filtering, and navigation.
  • Database Indexing: Positioned index keys across user_id, active status flags, and listing categories to maintain fast lookup times as record counts scale.

2. Authentication & Session Security

Rather than relying on vulnerable legacy hashing functions, the authentication module was built around modern cryptographic standards:

  • Argon2id Password Hashing: Utilized PHP’s native password_hash() implementing the memory-hard PASSWORD_ARGON2ID algorithm to defend against GPU-accelerated brute-force attacks.
  • Session Tokens: Built a dedicated database-backed sessions table tracking cryptographically random hex tokens, user associations, and explicit datetime expirations.
  • Role-Based Access Control: Structured two distinct permission tiers (user vs admin) governing listing approvals, review moderation, and catalog edits.

3. Business Discovery, Categorization & Ratings

Engineered dynamic server-side rendering routes displaying curated category channels:

  • Categorized Catalogs: Built targeted views for restaurants, banks, educational institutions, hospitals, pharmacies, and ATMs.
  • Aggregated Ratings Engine: Linked authenticated user reviews to specific business listing identifiers, calculating average rating scores dynamically during server-side template assembly.

4. End-to-End Test Automation with Playwright

To verify form submission validation, session state persistence, and cross-browser rendering reliability, an end-to-end test suite was built using Playwright:

  • Automated browser test suites covering Chromium, Firefox, and WebKit rendering engines.
  • Test workflows validating user registration, session authentication, listing creation, and review dispatch.