<<<<<<< HEAD
CleanBangla is a community-driven issue reporting frontend built with React, Vite, Tailwind CSS and Firebase. It allows community members to report problems (garbage, illegal construction, broken public property, road damage), view issue details, contribute funds, and manage their own reports.
Live site: https://cleanbengali.web.app/
- Project name: CleanBangla (Client)
- Short description: A responsive React client for reporting and tracking community issues, with Firebase authentication and a simple contributions workflow.
- Production / demo: https://cleanbengali.web.app/
- Frontend: React (Vite)
- Styling: Tailwind CSS + DaisyUI
- Authentication: Firebase Authentication
- HTTP client: Axios (wrapped by
useAxiosSecure) - Animations: AOS / GSAP
- Icons: react-icons
- Firebase-based authentication (signup, login, reset password)
- Report new issues (title, category, location, description, suggested budget)
- Issue details page with photo, meta information and a contributions progress bar
- Contribute funds to an issue via contribution form
- User dashboard: My Issues and My Contributions (protected routes)
- Responsive and accessible UI with modals and forms
Prerequisites: Node.js (v16+), npm or yarn, a Firebase project for Authentication.
- Clone the repo
git clone https://github.com/siddikur-dev/CleanBangla-Client.git
cd CleanBangla-Client- Install dependencies
npm install
# or
yarn install- Configure Firebase
- Update
src/Firebase/Firebase.config.jswith your Firebase config (apiKey, authDomain, etc.). - Enable the required Authentication providers in the Firebase console.
- (Optional) Environment variables
- If you use env variables for API base URL or keys, create a
.envwith values prefixed byVITE_and reference them in the code.
- Start development server
npm run dev
# or
yarn dev- Build
npm run build
# or
yarn buildsrc/
├─ Component/ # Reusable components (Navbar, Footer, Shared)
├─ Pages/ # Route pages (Home, IssueDetails, AddIssue, MyIssues, ...)
├─ Firebase/ # Firebase config
├─ Provider/ # Auth providers / contexts
├─ Routes/ # Router configuration
├─ hook/ # Custom hooks (useAuth, useAxiosSecure)
├─ assets/ # Images and static assets
└─ main.jsx # App bootstrap
The client expects a backend with endpoints similar to the following (adjust to your backend):
GET /all-issues— list all issuesGET /all-issues/:id— get issue by idPOST /all-issues— create a new issueGET /recent-issues— list recent issues (used by UI)GET /all-contributions/:issueId— list contributions for an issuePOST /all-contributions— create a contributionGET /my-issues?email={email}— list issues for a userPUT /my-issues/:id— update a user's issueDELETE /my-issues/:id— delete a user's issue
Make sure the backend uses the same id field name (e.g., _id) that the client expects.
Place screenshots in public/screenshots/ and reference them here. Example:
- Author: siddikur-dev
- Repo: https://github.com/siddikur-dev/CleanBangla-Client
- Contact: add your email or profile link here
- Built with React, Vite, Tailwind CSS and Firebase
- UI components use DaisyUI
- Icons from
react-icons
If you'd like, I can also add:
- Badges (build / license / version) at the top
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdtemplates- Example screenshots inside
public/screenshots/
CleanBangla is a community-driven web application that enables citizens to report and track local environmental and civic issues such as garbage dumping, illegal construction, broken infrastructure, road damage, and other municipal challenges. Built with React, Vite, Tailwind CSS, Node.js, Express, MongoDB, and Firebase Auth, it encourages transparency, accountability, and real community participation.
- Report community issues with full details & category
- View all reports with filters & status badges
- Issue details page with timestamps and metadata
- User authentication via Firebase (Login / Register)
- Personal dashboard to track submitted issues
- Fully responsive UI using Tailwind CSS & DaisyUI
- Smooth animations with GSAP
- Clean, modern, and scalable folder structure
- Optimized for speed and user experience
- React 19 – UI library
- Vite – Fast build tool
- Tailwind CSS – Utility-first CSS framework
- DaisyUI – Tailwind CSS Component library
- React Router – Client-side routing
- React Icons – Icon library
- GSAP – UI animations
- Node.js – Server runtime
- Express.js – Backend web framework
- MongoDB – NoSQL database
- Firebase Authentication
- Axios
- SweetAlert2
- React Icons
Follow these steps to run the project on your local machine:
git clone https://github.com/siddikur-dev/CleanBangla-Client.git
cd cleanbangla-frontendnpm installVITE_apiKey=your_key
VITE_authDomain=your_domain
VITE_projectId=your_project_id
VITE_storageBucket=your_bucket
VITE_messagingSenderId=your_sender_id
VITE_appId=your_app_idnpm run devhttp://localhost:5173- Live Site: https://cleanbengali.web.app
- Frontend Repo: https://github.com/siddikur-dev/CleanBangla-Client
- Backend Repo: https://github.com/siddikur-dev/CleanBangla-Server
e04838bbf64bc511626cabfbf2d8df67c35352fb
