Skip to content

adittacse/public-infrastructure-client

Repository files navigation

🏙️ Public Issue Portal

A modern web application where citizens can report public issues, track progress, and get updates.
Admins & staff members can manage issues efficiently with real-time workflow tools.


🚀 Live Website

🔗 Live URL: https://public-infrastructure-74101.web.app


🔐 Admin Login Credentials


🔐 Staff Login Credentials


📌 Website Features

Citizen Features

  • Citizens can submit public issues with title, category, photo, and location.
  • Free plan users can submit only 3 issues.
  • Premium users have unlimited issue submissions.
  • Citizens can boost an issue for ৳100 to get higher priority.
  • Users can view issue status in a dashboard with filters (Pending, In Progress, Working, Resolved, Closed).
  • Personal Profile Page with photo update, premium badge & block alerts.
  • Real-time payment system using Stripe for subscription & boost.
  • Citizens can see payment history & charts inside dashboard overview.
    • Citizens can download PDF invoices for their own payments.

Admin Features

  • Admin can manage all issues (assign staff, update status, boost indicator).
  • Admin can manage categories (Create, Update, Delete).
  • Admin dashboard shows statistics & charts summarizing system activities.
  • Admin can block/unblock users, preventing misuse.
  • Admin can download PDF invoices for any payment.

Staff Features

  • Staff can view assigned issues, update progress & close issues.
  • Staff dashboard includes issue filters & status analytics.

Technical Features

  • Authentication with Firebase Token & secure backend verification middleware.
  • Fully protected routes for Admin, Staff, and Citizen.
  • Modern UI built using React, Tailwind, DaisyUI.
  • Backend built on Node.js, Express, MongoDB with structured API routes.
  • Stripe Checkout Session integration for clean & secure payments.

🛠️ Tech Stack

Frontend:

  • React.js
  • React Router
  • Tailwind CSS + DaisyUI
  • TanStack Query
  • Axios
  • Firebase Auth
  • React Icons
  • Recharts
  • Sweetalert2
  • react-pdf/renderer

Backend:

  • Node.js
  • Express.js
  • MongoDB
  • Firebase Admin SDK (Token Verification)
  • Stripe Payments