Polls-app-api is a modern, FastAPI-powered framework for building scalable polling applications with real-time results. It provides a structured, modular API architecture that simplifies creating, managing, and retrieving polls, votes, and results.
Why polls-app-api?
This project aims to streamline the development of interactive polling systems. The core features include:
- 🛠️ API Modularity: Well-defined endpoints for polls, votes, and results, enabling scalable and maintainable code.
- 🚀 Fast Performance: Built on FastAPI, ensuring high-speed request handling and seamless integration.
- 🔑 Data Validation: Robust models for votes, options, and polls to maintain data integrity.
- 💾 Real-Time Data: Utility functions leveraging Redis for instant vote tracking and result aggregation.
- 📄 Clear Configuration: Simplified setup with Pipfile and comprehensive documentation for quick onboarding.
This project requires the following dependencies:
- Programming Language: Python
- Package Manager: Pipenv
Build polls-app-api from the source and install dependencies:
-
Clone the repository:
❯ git clone https://github.com/reyharighy/polls-app-api.git
-
Navigate to the project directory:
❯ cd polls-app-api -
Install the dependencies:
Using pipenv:
❯ pipenv installActivate the environment:
Using pipenv:
pipenv shellRun the FastAPI server with uvicorn:
Using pipenv:
uvicorn app.main:app --reloadInteractive API documentation is well-generated with Swagger UI:
http://localhost:8000/docs#/
