voterdatamanager Svelte Themes

Voterdatamanager

This dashboard enables efficient management of voter records with features like OTP-based login, CSV upload/download, unique surveyor links, CRUD operations, and automatic voter slip generation. Built with Node.js, MongoDB, and SvelteKit for performance and security in field deployments.

Voter Data Management Dashboard

A secure and efficient web application for managing voter data with CSV upload/download, OTP-based authentication, surveyor link generation, and automated voter slip creation.


๐Ÿ“‹ Table of Contents


Overview

This project provides an admin-facing dashboard to securely manage voter data with full CRUD capabilities. Built for election teams and survey administrators, it offers tools for bulk import/export via CSV, secure login using OTP, and automatic voter slip generation for fieldwork. Each surveyor gets a unique link for streamlined data handling.


Features

  • ๐Ÿ” OTP-Based Login for secure admin access
  • ๐Ÿ“ฅ CSV Upload/Download to manage large-scale voter data
  • ๐Ÿ“ CRUD Operations for individual or batch records
  • ๐Ÿ”— Unique Surveyor Links for decentralized access
  • ๐Ÿงพ Voter Slip Generation automated from stored data
  • ๐ŸŒ Responsive UI using SvelteKit for modern UX

Tech Stack

  • Frontend: SvelteKit, JavaScript
  • Backend: Node.js (Express)
  • Database: MongoDB
  • Authentication: OTP via Email/SMS (configurable)

Setup & Installation

Prerequisites

  • Node.js v16+
  • MongoDB instance (local or Atlas)

Clone the Repository

git clone https://github.com/abdurrahmanshkh/voterdatamanager.git
cd voterdatamanager

Install Dependencies

npm install

Configure Environment

Create a .env file and define the following:

MONGO_URI=your_mongodb_uri
OTP_SECRET=your_otp_secret
BASE_URL=http://localhost:3000

Run the App

npm run dev

Visit http://localhost:3000 to access the dashboard.


Usage

  1. Login with OTP to access the dashboard.
  2. Upload CSV files with voter details (name, age, ID, address, etc).
  3. Manage records via Create, Read, Update, Delete interfaces.
  4. Download CSVs for offline use or reporting.
  5. Generate voter slips per individual or in bulk.
  6. Distribute unique links to surveyors for remote data capture.

Folder Structure

voter-dashboard/
โ”œโ”€โ”€ backend/          # Node.js server and routes
โ”œโ”€โ”€ frontend/         # SvelteKit UI
โ”œโ”€โ”€ public/           # Static assets
โ”œโ”€โ”€ utils/            # Helper functions (CSV parser, OTP, etc)
โ”œโ”€โ”€ .env              # Environment configuration
โ””โ”€โ”€ README.md

Deployment

You can deploy this project using:

  • Vercel or Netlify for the frontend (SvelteKit)
  • Render, Heroku, or Railway for the backend (Node.js)
  • MongoDB Atlas for a managed database

Contributing

Pull requests and issue reports are welcome. For major changes, please open an issue first to discuss what you'd like to change.


License

This project is licensed under the MIT License.

Top categories

Loading Svelte Themes