MyCityApp is a web application that empowers citizens to report civic issues in their local communities and facilitates efficient communication between citizens and government authorities for timely resolution.
-
Citizen Reporting
- Report new issues with location, description, and multimedia (images/videos)
- View a list of reported issues with filters, search, and map view
- Receive notifications on status updates for reported issues
-
Official Management
- View a list of reported issues with filters, search, and map view
- Comment on reported issues and provide status updates
- Mark issues as resolved with images/videos of completed work
-
Admin Panel
- User management (create, edit, delete user accounts)
- Content moderation (review and approve/reject reported issues)
- Generate reports and analytics
- Frontend: React.js,Axios
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Passport.js
- Deployment:
- Node.js (v14 or higher)
- npm (Node Package Manager)
-
Clone the repository:
git clone https://github.com/shaundaniel/mycity
-
Navigate to the project directory:
cd mycity
-
Install backend dependencies:
cd backend npm install
-
Install frontend dependencies:
cd ../frontend npm install
-
Create a
.env
file in thebackend
directory and add your MongoDB connection string.
-
Start the backend server:
cd backend nodemon ./src/app.js
-
In a separate terminal, start the frontend development server:
cd frontend npm start
-
The application should now be accessible at
http://localhost:3000
.
Contributions are welcome! If you find any issues or want to add new features, please open an issue or submit a pull request.
This project is licensed under the MIT License.
This README provides an overview of the project, including its features, technologies used, instructions for getting started (installation and running the application), contributing guidelines, and licensing information.
Feel free to customize and expand this README as needed, adding sections for project structure, deployment instructions, coding guidelines, or any other relevant information for your project.