This is a full-stack social media-inspired web application built to make communities safer and more connected. It empowers users to raise their voices by reporting local issues with descriptions, images, and live locations, while trusted authorities like police or fire services can respond and take action in real time. Complaints are shared in a familiar social feed where others can engage, support, and contribute. With live chat and location sharing, the platform fosters quick, transparent, and meaningful communication. Built with Spring Boot and React, it combines functionality with purpose—bridging the gap between citizens and responders when it matters most.
- backend/ (Spring Boot backend)
- frontend/ (React frontend)
- db_creation.sh (Postgres DB setup)
First, you need to clone the repository:
git clone https://github.com/badhon495/Nirapod.git
cd Nirapod
Install the required dependencies for both backend and frontend:
npm install
- Navigate to backend directory:
cd backend
- Copy the example environment file:
cp src/main/resources/application.properties.example src/main/resources/application.properties
- Edit
application.properties
to set your database, email, and Google credentials. - Build the project (requires Java 17+ and Maven):
mvn clean install
- Run the backend:
mvn spring-boot:run
- The backend will run on
http://localhost:8080
by default.
- Navigate to frontend directory:
cd frontend
- Copy the example environment file:
cp .env.example .env
- Edit the
.env
file to set your environment variables. - Start the frontend (dependencies are already installed from root):
npm start
- The frontend will run on
http://localhost:3000
by default.
- Navigate to backend directory:
cd backend
- Start the live chat server (ws package is already installed from root):
node livechat-server.js
- Ensure PostgreSQL is running and accessible with the credentials in
db_creation.sh
. - Run the script:
./db_creation.sh
To set up your environment variables and configuration files:
-
Backend application.properties
- Copy the example file to create your actual config:
cp backend/src/main/resources/application.properties.example backend/src/main/resources/application.properties
- Edit
application.properties
and fill in your real database, email, and Google credentials.
- Copy the example file to create your actual config:
-
Frontend .env file
- Copy the example file to create your actual .env:
cp frontend/.env.example frontend/.env
- Edit
.env
and fill in your real secrets and environment variables.
- Copy the example file to create your actual .env:
- Update backend
application.properties
for DB credentials if needed. - File uploads will be stored in the backend (see backend config for details).
- For production, configure environment variables and secure credentials.
- Get the Google APP ID and APP SECRET from the Google Developer Console and set them in the frontend
.env
file and backendapplication.properties
. - For mail service, you can use any SMTP server. The example uses Gmail, but you can replace it with your own SMTP server details in the
application.properties
file. - Ensure you have the required permissions for file uploads and location sharing in your browser settings.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ Star this repo if you found it helpful!