Urban Engage is an innovative e-governance platform designed to facilitate communication and interaction between citizens and local authorities. The platform offers various modules to improve civic engagement, issue reporting, and community building.
To visit the deployed application Click here (Desktop recommended)
Urban Engage is a responsive and scalable web application built using the MERN stack (MongoDB, Express.js, React, and Node.js). The platform provides a comprehensive e-governance solution for citizens to report issues, participate in community discussions, create petitions, and engage with local events. Urban Engage simplifies community engagement by centralizing communication channels and offering tools for better collaboration.
The application achieves a high level of efficiency and performance through asynchronous communication between the client and server, optimized database queries, and responsive front-end design techniques. It is designed to handle large amounts of data and user interactions while ensuring a seamless user experience.
The following technologies were used in the development of this project:
- Frontend: React.js, JavaScript, HTML5, CSS3, Bootstrap
- Backend: Node.js, Express.js
- Database: MongoDB (NoSQL database)
- Authentication: JWT (JSON Web Tokens)
- Deployment:
- Version Control: Git, GitHub
- The home page provides a welcome message and a brief overview of the platform’s core features.
- Quick links are available for direct navigation to the Dashboard, Forums, Events, and more.
- Users can see the latest updates and news relevant to their community.
- A search bar is integrated to allow easy navigation across the platform.
- The personalized user dashboard gives a summary of the user’s activity, upcoming events, and recent discussions.
- Quick stats on issues reported, petitions signed, and events RSVP’d are displayed.
- Users can also manage their profile settings directly from the dashboard.
- The forum section supports categorized discussions on various topics relevant to the community.
- Users can engage in threaded conversations and reply to other posts.
- User profiles are visible along with reputation scores based on activity.
- Moderation tools allow for content reporting and administrative control.
- Upcoming community events are displayed in a calendar view.
- Event details include date, time, location, and description, with an option to RSVP.
- Users with the necessary permissions can create and manage events.
- The issues module enables users to report local issues such as infrastructure problems or community concerns.
- Status tracking is available for each issue (pending, in progress, resolved).
- Users can comment, upvote, and track the resolution of reported issues.
- Analytics tools provide historical data on issue trends.
- Users can create, view, and sign petitions directly on the platform.
- Each petition includes details such as goals, description, and deadlines.
- Progress is tracked, and the number of signatures is displayed in real-time.
- Polls allow users to participate in decision-making by voting on various topics.
- Real-time results are displayed after votes are cast.
- Users can also create polls on subjects of community interest.
- A list of available volunteer opportunities is displayed.
- Users can sign up to volunteer for events or initiatives and track their activity.
- Volunteer coordination tools assist organizers in managing volunteer projects efficiently.
- User authentication is secured using JWT, allowing for a secure and efficient login and sign-up experience.
- Users can update their personal information, manage privacy settings, and view account history.
- Real-time authentication ensures data security and privacy.
To get a local copy of this project up and running, follow these simple steps.
- Node.js (v14.x or higher)
- MongoDB (local or cloud instance)
- Git
-
Clone the repository:
git clone https://github.com/singhtanishq/UrbanEngage.git cd UrbanEngage
-
Install dependencies for both client and server:
# For backend cd backend npm install # For frontend cd ../frontend npm install
-
Create a
.env
file in the backend folder with the following variables:MONGODB_URI=<your-mongodb-uri> JWT_SECRET=<your-jwt-secret>
-
Run the development servers:
# Backend server cd backend npm start # Frontend server cd ../frontend npm start
The application will run on
localhost:3000
for the frontend andlocalhost:5000
for the backend.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
To contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.