Civic Connect is a full-stack web application that enables citizens to report civic issues and authorities to manage and resolve them efficiently.
The application is built with a modern full-stack architecture, separating frontend, backend, and shared logic for better scalability and maintainability.
- React
- Vite
- HTML5
- CSS3
- JavaScript
- Axios / Fetch API
- Node.js
- Express.js
- RESTful APIs
- JWT Authentication
- Common utilities
- Constants
- Shared helper functions
Ensure the following are installed on your system:
- Node.js (v16 or higher)
- npm (or yarn)
- Git
git clone https://github.com/<your-username>/civic-connect.git
cd civic-connect
2️⃣ Backend Setup
cd backend
npm install
Create a .env file inside the backend folder:
PORT=5000
DATABASE_URL=your_database_url
JWT_SECRET=your_secret_key
Start the backend server:
npm start
Backend will run on:
http://localhost:5000
3️⃣ Frontend Setup
cd frontend
npm install
npm run dev
Frontend will run on:
http://localhost:5173
🔄 Application Flow
. The frontend sends API requests to the backend
. The backend processes requests and communicates with the database
. Shared folder contains reusable logic used across frontend and backend
🔐 Environment Variables
All sensitive data is stored in environment variables.
⚠️ .env files are excluded from version control and should never be committed.
🧪 Available Scripts
Backend
npm start
npm run dev
Frontend
npm run dev
npm run build
📦 Deployment
. Frontend can be deployed on Vercel or Netlify
. Backend can be deployed on Render or Railway
. Configure environment variables on the deployment platform
🤝 Contributing
. Contributions are welcome!
. Fork the repository
. Create a new branch
. Commit your changes
. Push to your branch
. Open a Pull Request
⭐ Support
If you find this project useful, please consider giving it a ⭐ on GitHub!