CRMS is a record management system where a verified user can search for records of people. It provides a list of people who may/maynot be involved in any kind of criminal activities.
-
Front-end
- React.js
- Tailwind CSS
-
Back-end
- Express.js
- Node.js
-
Database
- MySQL
-
Fork and clone this repository to your machine:
git clone https://github.com/SandeshGC/Criminal-Record-Management-System.git
-
Install XAMPP and start MySQL server.
-
Create databases and tables as specified in the 'Database' section.
-
Install required npm packages in 'server' directory and start server:
cd server
locate into server directory
npm install
oryarn
install packages
npm run devStart
oryarn devStart
start server
npm run authStart
oryarn authStart
start authentication server -
Install required npm packages in 'client' directory:
cd client
locate into client directory
npm install
oryarn
install packages
npm run dev
oryarn dev
deploy the frontend locally
-
Table: "records"
- record_id INT SERIAL PRIMARY_KEY
- first_name VARCHAR(50)
- middle_name VARCHAR(50)
- last_name VARCHAR(50)
- age INT
- gender INT /1 for male, 2 for female/
- crime_id INT FOREIGN KEY REFERENCES crimes(crime_id)
- height_inch FLOAT(5,2)
- photo LONGTEXT
-
Table: "users"
- user_id SERIAL PRIMARY KEY
- username VARCHAR(30)
- password TEXT
- role NVARCHAR(10) DEFAULT 'user' NOT NULL
-
Table: "crimes"
- crime_id SERIAL PRIMARY KEY
- cname NVARCHAR(50)
- severity NVARCHAR(10)
- description TEXT
Things that I will work on this project later:
- The UI needs to be improved
- Check for invalid images
- Improve security (protect routes)
- create page for managing users
- use proper routes for managing users
- add ability to migrate database