Criminal Record Management System

Description

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.

Tech Stack

  • Front-end

    • React.js
    • Tailwind CSS
  • Back-end

    • Express.js
    • Node.js
  • Database

    • MySQL

To run the application locally

  • 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 or yarn install packages
    npm run devStart or yarn devStart start server
    npm run authStart or yarn authStart start authentication server

  • Install required npm packages in 'client' directory:
    cd client locate into client directory
    npm install or yarn install packages
    npm run dev or yarn dev deploy the frontend locally

Database

db name: crms
  • 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

    image

  • Table: "users"

    • user_id SERIAL PRIMARY KEY
    • username VARCHAR(30)
    • password TEXT
    • role NVARCHAR(10) DEFAULT 'user' NOT NULL

    image

  • Table: "crimes"

    • crime_id SERIAL PRIMARY KEY
    • cname NVARCHAR(50)
    • severity NVARCHAR(10)
    • description TEXT

    image

Future development

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

Author

Sandesh GC