Skip to content

Khushi21must/election-assistant1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CivicGuide: The Interactive Election Assistant 🗳️

An intelligent, interactive assistant designed to clear voter confusion by providing real-time election roadmaps, registration steps, and polling locations.

🚀 Key Features

  • Interactive Voter Bot: Parses complex civic data into easy-to-follow, step-by-step guides.
  • Real-time API Integration: Powered by the Google Civic Information API for accurate election data.
  • Search History Tracking: Uses an SQLite database to maintain a secure record of voter inquiries.
  • Responsive UI: A clean, accessible interface built with Tailwind CSS and designed for keyboard navigability.

🛠️ Tech Stack

  • Backend: Python (Flask) with Blueprints and Factory Pattern.
  • Security: Flask-Talisman for forced HTTPS and security headers.
  • Database: SQLAlchemy (SQLite) for efficient record management.
  • Testing: Pytest suite for automated logic validation.
  • Frontend: HTML5, Tailwind CSS, JavaScript (Fetch API).

📂 Project Structure

  • app/services/: Logic for Google Civic API communication.
  • app/routes/: Interactive bot logic and endpoint management.
  • app/models/: Database schema for recording user interactions.
  • config/: Centralized YAML-based application settings.
  • tests/: Comprehensive unit tests for core functionality.

🔧 Installation & Setup

  1. Clone the repository and navigate to the directory.
  2. Create and activate a virtual environment: python3 -m venv .venv && source .venv/bin/activate.
  3. Install dependencies: pip install -r requirements.txt.
  4. Set your GOOGLE_CIVIC_API_KEY in the .env file.
  5. Run the application: python3 main.py.

🧪 Running Tests

To verify the application logic and security configurations:

python3 -m pytest

About

An intelligent, interactive assistant designed to clear voter confusion by providing real-time election roadmaps, registration steps, and polling locations using the Google Civic API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors