- ๐ About The Project
- ๐ Why this project?
- ๐ Live Demo
- ๐ Tech Stack
- ๐ Project Architecture
- โจ Key Compatibilities
- ๐ธ Screenshots
- ๐ ๏ธ Getting Started (Installation)
- ๐ค Contribution Guidelines
- ๐งโ๐ป Contributors
- ๐ก๏ธ Project Admin
- ๐ License
- Thanks for visiting Jan Suraksha! ๐ฎ๐ณ
Jan Suraksha is a digital initiative aimed at bridging the gap between citizens and law enforcement. It is an online crime reporting portal designed to make the process of reporting incidents safer, faster, and more transparent.
In many scenarios, citizens hesitate to report crimes due to fear or procedural complexities. Jan Suraksha aims to solve this by providing a user-friendly platform where complaints can be lodged securely.
- Safety: Encourages citizens to report crimes without fear.
- Transparency: Real-time tracking of complaint status.
- Social Impact: Directly contributes to a safer society using technology.
Check out the live project here:
๐ https://jansuraksha.infinityfreeapp.com/
This project is built using the following technologies:
- Frontend: HTML5, CSS3, JavaScript, Bootstrap (Responsive Design)
- Backend: PHP (Core)
- Database: MySQL
- Server Environment: XAMPP / WAMP (Apache Server)
- DevOps: GitHub Actions (Automated Deployment)
Understanding the codebase is easy! Here is how our files are organized:
Jan-Suraksha/
โโโ admin/ # Admin dashboard & status management
โโโ assets/ # UI Assets: CSS, JS, and Banner Images
โโโ includes/ # Reusable PHP modules (Header/Footer/Nav)
โโโ config.php # Database connection & Environment config
โโโ schema.sql # Database structure for SQL import
โโโ index.php # Main Landing Page
โโโ login.php # User authentication logic
To help contributors understand the PHP-MySQL request lifecycle, here is the high-level architecture:
graph TD
User((Citizen)) -- Reports Crime --> Index[index.php / Landing]
Index --> Auth{login.php}
Auth --> Portal[Complaint Form]
Portal --> DB[(MySQL Database)]
subgraph Administration
Admin((Police Admin)) -- Manage --> Dashboard[admin/ Dashboard]
Dashboard --> Status[Update Complaint Status]
Status --> DB
end
subgraph Logic_Layer
DB --> Config[config.php]
Config --> Includes[includes/ Header-Footer]
end
style Administration fill:#f9d5e5,stroke:#333
style Logic_Layer fill:#eeeeee,stroke:#333
| Feature | Description | Status |
|---|---|---|
| Citizen Reporting | Secure form to report incidents (Theft, Cybercrime, etc.) | โ Completed |
| Real-time Tracking | Check status updates from law enforcement in real-time | โ Completed |
| Admin Dashboard | Exclusive panel for police to manage cases | โ Completed |
| Multilingual Support | Support for regional language reporting | ๐ ๏ธ In Progress |
| Mobile Responsive | Fully functional on smartphones and tablets | โ Completed |
| Home Page | Complaint Form |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Warning
Important: Admin Credentials > For testing the administrative side, use:
Username: admin | Password: admin
Follow these steps to set up the project locally on your machine.
You need a local server environment to run PHP and MySQL.
- Install XAMPP: Download and install XAMPP. Start the Apache and MySQL modules from the XAMPP Control Panel.
- Fork & Clone the Repository:
- Navigate to your XAMPP installation folder (usually
C:\xampp\htdocs). - Open your terminal/git bash in the
htdocsfolder. - Clone the repo:
git clone [https://github.com/your-username/jan_suraksha.git] - Navigate to your XAMPP installation folder (usually
- Database Configuration:
- Open your browser and go to
http://localhost/phpmyadmin. - Create a new database named
jan_suraksha(Make sure this name matches your code). - Click on the Import tab.
- Choose the
schema.sqlfile provided in this repository and click Go.
- Open your browser and go to
- Connect Database:
- Go to the project folder -> Open the
config.phpfile. - Ensure the credentials match your local setup (Default XAMPP user is
rootwith no password).
$db_host = 'localhost'; $db_user = 'root'; $db_pass = ''; $db_name = 'jan_suraksha'; - Go to the project folder -> Open the
Caution
Security Note: Never commit your local config.php if it contains sensitive credentials. This file is ignored by Git in production to prevent data leaks.
- Run the Project:
- Open your browser.
- Go to:
http://localhost/jan_suraksha/jan_suraksha
In case you're you want to use docker to run mysql instance.
docker-compose up db -d $db_host = '127.0.0.1';
$db_user = 'root';
$db_pass = 'root';
$db_name = 'jan_suraksha';We welcome contributions from everyone!
- Find an Issue: Look for issues tagged with
good first issue,bug, orenhancement. - Assign Yourself: Comment on the issue asking to be assigned. Do not start working until assigned.
- Fork the Repo: Click the "Fork" button on the top right.
- Create a Branch:
git checkout -b feature-name - Make Changes & Commit:
- Keep code clean and commented.
git commit -m "Fixed bug in login page" - Push Changes:
git push origin feature-name - Create a Pull Request (PR): Go to the original repository and click "Compare & pull request".
โ ๏ธ IMPORTANT: Do NOT change theconfig.phpfile in your PR unless necessary for local testing. Our CI/CD pipeline handles the live server connection automatically.
A huge thank you to all the amazing people who have contributed to Jan Suraksha!
Want to contribute? Follow our Contribution Guidelines โ all PRs welcome! ๐
- Anjali Jagtap - Project Lead - https://github.com/Anjalijagta
This project is licensed under the MIT License.






