Skip to content

πŸͺͺ E-Card-Generator is a Flask-based web application that allows users to request, verify, and generate digital identity cards like Aadhar, PAN, Driving License, and Voter IDβ€”all from a unified platform.

Notifications You must be signed in to change notification settings

AayushKotwani3/E-Card-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

E-Card-Generator

A Flask-based web application for generating and managing digital versions of key Indian identity cards: Aadhar, PAN, Driving License, and Voter ID.

License Python Flask

Overview

E-Card-Generator streamlines the process of requesting and managing digital versions of essential Indian identity documents. The application provides a complete workflow from user registration to card generation, with an admin interface for verification and approval.

Features

  • User Authentication: Secure registration and login system
  • Multiple Card Types: Support for Aadhar, PAN, Driving License, and Voter ID cards
  • Request Management: Complete lifecycle tracking from request to generation
  • Admin Dashboard: Tools for managing users and card requests
  • Automated Key Generation: Unique algorithms for each card type
  • Status Tracking: Monitor progress (requested, under verification, verified, generated)
  • File Upload: Support for user images and documents
  • Search Functionality: Find users and filter by card status

Card Key Generation

Each identity card uses a unique algorithm for generating its identifier:

Card Type Format Example Generation Logic
Aadhar 12-digit number 123456789012 Random 12-digit integer
PAN XJHQR3842P XJHQR3842P 5 uppercase letters, 4 digits, 1 uppercase letter
Voter ID ABC1234567 ABC1234567 3 uppercase letters + 7 digits
Driving License DL-01-2025-1234567 DL-01-2025-1234567 2 letters (state) + 2 digits (RTO) + year + 7 digits

Directory Structure

E-Card-Generator/
β”œβ”€β”€ README.md
β”œβ”€β”€ app.py                 # Main application entry point
β”œβ”€β”€ key_generator.py       # Card number generation algorithms
β”œβ”€β”€ test.txt
β”œβ”€β”€ Application/           # Core application modules
β”‚   β”œβ”€β”€ controllers.py     # Route handlers and business logic
β”‚   β”œβ”€β”€ database.py        # Database connection and utilities
β”‚   β”œβ”€β”€ models.py          # Data models
β”‚   └── __pycache__/
β”œβ”€β”€ instance/
β”‚   └── ecard.sqlite       # SQLite database
β”œβ”€β”€ static/                # Static assets
β”‚   β”œβ”€β”€ pan.webp
β”‚   └── style.css
└── templates/             # HTML templates
    β”œβ”€β”€ Aadhar.html
    β”œβ”€β”€ admin_dashboard.html
    β”œβ”€β”€ card_requirements.txt
    β”œβ”€β”€ driving-license.html
    β”œβ”€β”€ login.html
    β”œβ”€β”€ pan-card.html
    β”œβ”€β”€ Register.html
    β”œβ”€β”€ results.html
    β”œβ”€β”€ select.html
    β”œβ”€β”€ summary.html
    β”œβ”€β”€ update_status.html
    β”œβ”€β”€ user_dashboard.html
    β”œβ”€β”€ view_aadhar.html
    β”œβ”€β”€ view_driving.html
    β”œβ”€β”€ view_pan.html
    β”œβ”€β”€ view_voterid.html
    └── voter-id.html

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/E-Card-Generator.git
    cd E-Card-Generator
  2. Create and activate a virtual environment (recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Set up the environment variables (if needed):

    # Example for development
    export FLASK_APP=app.py
    export FLASK_ENV=development

Running the Application

Start the application with:

python app.py

The application will be available at http://127.0.0.1:5000/

Usage Guide

For Users

  1. Registration and Login:

    • Register with a valid email and password
    • Log in using your credentials
  2. Requesting Cards:

    • Select the card type you need (Aadhar, PAN, Driving License, or Voter ID)
    • Fill in the required personal information
    • Upload necessary documents and photos
    • Submit your request
  3. Tracking Status:

    • View all your card requests on your dashboard
    • Check the status of each request (requested, under verification, verified, generated)
    • Download generated cards once approved

For Administrators

  1. Admin Dashboard:

    • Access the admin interface via /admin (login with admin credentials)
    • View all user requests across the system
  2. Request Management:

    • Review pending requests
    • Verify user information and uploaded documents
    • Update request status (under verification, verified, rejected)
    • Generate card numbers for approved requests
  3. User Management:

    • View and search for users
    • Manage user accounts and permissions

API Reference

The application does not currently expose a public API, but internal endpoints are available for the web interface.

Development

Prerequisites

  • Python 3.6+
  • Flask and its dependencies
  • SQLite

Setting Up a Development Environment

Follow the installation instructions above, then:

  1. Enable debug mode:

    export FLASK_DEBUG=1
  2. Make code changes as needed

  3. Run tests:

    # Test command (if tests are implemented)

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin feature-name
  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Flask documentation and community
  • SQLite for database support
  • All contributors and users of the application

Contact

For questions or support, please contact work.aayushkotwani@gmail.com

About

πŸͺͺ E-Card-Generator is a Flask-based web application that allows users to request, verify, and generate digital identity cards like Aadhar, PAN, Driving License, and Voter IDβ€”all from a unified platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published