Skip to content

A comprehensive identity card management system built with React and Node.js. Features include card creation, management, analytics dashboard, and secure authentication. Includes real-time statistics, data visualization, and responsive design.

Notifications You must be signed in to change notification settings

QaiserEjaz/identity-card-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ†” Identity Cards Management System

Node.js React MongoDB Express.js Redux Bootstrap

JWT Axios Font Awesome QR Code Redux Thunk CORS

A full-stack web application for managing identity cards with advanced features, built using the MERN stack (MongoDB, Express.js, React.js, Node.js).

Live Demo | Report Bug

✨ Features

🎯 Core Functionality

  • Create, read, update, and delete identity cards
  • Image upload for photos and signatures
  • PDF generation and preview
  • QR code generation for each card
  • Responsive design for all devices
  • Multiple view options (Card/Table view)

πŸ’‘ Advanced Features

  • Real-time form validation
  • Interactive UI with animations
  • Secure file upload handling with size restrictions (500KB max)
  • Advanced data visualization with charts
  • Pagination and dynamic search
  • Role-based authentication
  • Admin dashboard with statistics
  • Image compression and optimization
  • Responsive design across all devices

πŸ”’ Security Features

  • JWT-based authentication
  • Protected routes and API endpoints
  • File upload validation and sanitization
  • Input data validation
  • Rate limiting protection
  • Secure password handling

πŸ“Š Dashboard Features

  • Activity trends visualization
  • Gender distribution charts
  • Religion distribution analytics
  • Age group statistics
  • Real-time data updates
  • Customizable time ranges

πŸ“Έ Screenshots & Interface

πŸ” Login Interface

Login Preview

πŸ–₯️ Dashboard View

Dashboard Preview

πŸ“ Input Form Interface

Input Form

🎴 Card View Layout

Card View

πŸ“‹ List View Interface

List View

πŸ“± Card Detail Interface

Card Detail View

πŸ“„ PDF Export Feature

Exported Pdf

Key Interface Features:

  • Clean and intuitive dashboard layout
  • Responsive card detail view
  • Professional PDF export design
  • Dark/Light mode support
  • Mobile-friendly interface
  • Interactive data tables
  • Modern form controls

πŸ› οΈ Tech Stack

Frontend

  • React.js with Vite
  • Redux Toolkit for state management
  • Bootstrap 5 with custom animations
  • Chart.js for data visualization
  • Axios for API integration
  • jsPDF for document generation
  • QR Code generation
  • FontAwesome icons
  • Custom CSS with responsive design

Backend

  • Node.js & Express.js
  • MongoDB with Mongoose
  • Multer for file handling
  • CORS enabled
  • Rate limiting
  • Environment variables

πŸš€ Live Demo

πŸ“„ Exported PDF Example

PDF Export Feature


πŸ“± Application Structure

identity-card-system/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ uploads/
β”‚   β”œβ”€β”€ .env
β”‚   β”œβ”€β”€ .env.production
β”‚   β”œβ”€β”€ db.js
β”‚   β”œβ”€β”€ index.js
β”‚   └── README.md
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ redux/
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   β”œβ”€β”€ App.css
β”‚   β”‚   β”œβ”€β”€ index.css
β”‚   β”‚   └── main.jsx
β”‚   β”œβ”€β”€ .env
β”‚   β”œβ”€β”€ .env.production
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ vercel.json
β”‚   └── vite.config.js
β”‚
β”œβ”€β”€ docs/
β”‚        
β”œβ”€β”€ .gitignore        
β”œβ”€β”€ package-lock.json        # Project locked dependencies
β”œβ”€β”€ package.json            # Project dependencies
└── README.md

πŸš€ Quick Start

Prerequisites

  • Node.js (v14+)
  • MongoDB
  • npm/yarn

Installation

git clone https://github.com/QaiserEjaz/identity-card-system.git
cd identity-card-system
  1. Backend Setup
cd backend
npm install

Create .env file in backend directory:

MONGODB_URI=your_mongodb_connection_string
PORT=5000
  1. Frontend Setup
cd ../frontend
npm install

Create .env file in frontend directory:

VITE_API_URL=http://localhost:5000

πŸ‘ Acknowledgments

  • Design Inspiration

    • Material Design Guidelines
    • Bootstrap Documentation & Examples
    • Dribbble ID Card Designs
  • Technical Resources

    • React.js Documentation
    • MongoDB University Tutorials
    • Express.js Official Guides
    • Redux Toolkit Best Practices
    • Chart.js Examples Gallery
  • Libraries & Tools

    • Bootstrap Themes
    • FontAwesome Icons
    • jsPDF Documentation
    • QRCode.react Examples
    • Axios HTTP Client
    • Multer File Upload
    • JWT Authentication
    • Vite Build Tool
  • Development Tools

    • GitHub Version Control
    • Vercel Deployment
    • Railway Platform
    • MongoDB Atlas
    • VS Code Editor
    • Chrome DevTools

Engineered with ⚑ Precision by Qaiser Ejaz

About

A comprehensive identity card management system built with React and Node.js. Features include card creation, management, analytics dashboard, and secure authentication. Includes real-time statistics, data visualization, and responsive design.

Topics

Resources

Stars

Watchers

Forks