A grievance redressal & city management platform designed for the Circus of Wonders, a traveling mobile city with performers, vendors, and roadies.
As the circus travels, infrastructure issues (like road damage, water leakage, and garbage pile-ups) often arise. Citizens can use The Caravan Chronicle to report problems, track resolutions, and ensure their temporary city runs as smoothly as the show itself.
- User Registration & Login: Secure accounts for citizens, staff, and admins.
- Complaint Submission: Report issues with text, location, and photo uploads.
- Ticket Lifecycle: Status flow β
OPEN β IN PROGRESS β RESOLVED. - Dashboards:
- Citizens: Track and manage complaints.
- Staff: Assign, update, and resolve complaints.
- Admin: Oversee metrics, manage staff, and generate reports.
- Search & Filtering: Filter complaints by type, area, urgency, or date.
- Notifications: Email/SMS/push alerts for updates.
- Reports & Analytics: Export data in CSV/PDF and view resolution trends.
Frontend
- React.js (or Next.js)
- TailwindCSS
Backend
- Node.js (Express)
- MongoDB
- JWT
- Firebase
Utilities
- Puppeteer / ReportLab for PDF reports
- Docker for deployment
caravan-chronicle/
β
βββ backend/
β βββ index.js
β βββ config.js
β βββ middleware/
β βββ models/
β βββ routes/
β βββ utils/
β βββ package.json
β βββ package-lock.json
β
βββ frontend/
β βββ public/ # Static files
β βββ src/
β β βββ api/ # Axios API calls
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page-level views
β β βββ hooks/ # Custom React hooks
β β βββ layouts/ # Dashboard layouts
β β βββ context/ # Auth & global state
β β βββ styles/ # CSS/Tailwind config
β β βββ utils/ # Frontend utilities
β βββ package.json
β
βββ docs/
β βββ architecture.md # System design
β βββ api-spec.md # API endpoints
β βββ user-stories.md # User scenarios
β βββ ui-wireframes/ # Mockups
β
βββ scripts/ # Deployment scripts
βββ .env # Environment variables
βββ docker-compose.yml # Container setup
βββ README.md- Node.js >= 16
- MongoDB
- npm or yarn
# Clone the repo
git clone https://github.com/your-username/caravan-chronicle.git
# Backend setup
cd caravan-chronicle/backend
npm install
npm run dev
# Frontend setup
cd ../frontend
npm install
npm startCreate a .env file in /backend with:
PORT=5000
DATABASE_URL=your_db_url
JWT_SECRET=your_secret_key
EMAIL_SERVICE_API=your_email_api_key
STORAGE_BUCKET=your_storage_bucket- Citizen logs in β submits a complaint.
- Complaint marked as OPEN and visible in staff dashboard.
- Staff assigns themselves β marks as IN PROGRESS.
- After resolution β status updated to RESOLVED.
- Citizen notified of resolution.
- Admin reviews analytics and exports reports.
- Fork the project
- Create a feature branch (
git checkout -b feature/xyz) - Commit changes (
git commit -m 'Add new feature') - Push to branch (
git push origin feature/xyz) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Your Name - Initial Work
- Open to Contributors π