Dev API Vault is a production-ready FastAPI application that consolidates essential developer utilities into a single, powerful API. It's designed to help developers streamline their workflow with commonly needed tools accessible via RESTful endpoints.
- Markdown to HTML Converter - Convert markdown text to clean HTML
- QR Code Generator - Generate QR codes from text or URLs
- Image to Base64 - Convert images to base64 encoded strings
- Regex Tester - Test and validate regular expressions
- Webpage Word Counter - Count words from any webpage URL
- Text Summarizer - Generate concise summaries from large text blocks
- RESTful API - Easy-to-use endpoints with proper HTTP methods
- Rate Limiting - Built-in rate limiting for API protection
- Comprehensive Documentation - Interactive API docs with OpenAPI/Swagger
- Production Ready - Containerized with Docker and deployable anywhere
- Quickly generate QR codes for URLs or text
- Convert documentation from Markdown to HTML
- Process images in API workflows
- Test and debug regular expressions
- Analyze web content programmatically
- Summarize articles or documentation
- Educational purposes for learning FastAPI
- Backend Framework: FastAPI
- Language: Python 3.9+
- API Documentation: OpenAPI (Swagger UI & ReDoc)
- Testing: Pytest, HTTPX
- Code Quality: Black, isort, Flake8, mypy
- Containerization: Docker
- CI/CD: GitHub Actions
- Deployment: Render (or any cloud provider)
- Python 3.9 or higher
- pip (Python package manager)
- Git
- (Optional) Docker & Docker Compose
-
Clone the repository
git clone https://github.com/KrunalValvi/Dev_Api_Vault.git cd Dev_Api_Vault -
Set up a virtual environment
# Windows python -m venv venv .\venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install dependencies
pip install --upgrade pip pip install -r requirements.txt
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Run the application
uvicorn app.main:app --reload
-
Access the API documentation
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
# Build the Docker image
docker build -t dev-api-vault .
# Run the container
docker run -d --name dev-api-vault -p 8000:80 dev-api-vault| Endpoint | Method | Description |
|---|---|---|
/api/v1/markdown-to-html |
POST | Convert markdown to HTML |
/api/v1/qr-code |
POST | Generate QR code from text |
/api/v1/image-to-base64 |
POST | Convert image to base64 |
/api/v1/regex-tester |
POST | Test regular expressions |
/api/v1/word-count |
GET | Count words in a webpage |
/api/v1/summarize |
POST | Generate text summary |
For detailed API documentation, visit the interactive Swagger UI after starting the server.
# Install test dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
# Run with coverage
pytest --cov=app --cov-report=term-missing
# Run linters
black .
flake8
mypy .Dev_Api_Vault/
βββ .github/ # GitHub configuration
β βββ workflows/ # GitHub Actions workflows
βββ app/ # Application source code
β βββ __init__.py # Package initialization
β βββ main.py # FastAPI application
β βββ config.py # Configuration settings
β βββ models.py # Pydantic models
β βββ routers.py # API routes
β βββ security.py # Authentication & security
β βββ utils.py # Utility functions
βββ static/ # Static files
βββ tests/ # Test files
β βββ __init__.py
β βββ conftest.py
β βββ test_api.py
β βββ test_edge_cases.py
βββ .env.example # Example environment variables
βββ .gitignore # Git ignore file
βββ docker-compose.yml # Docker Compose configuration
βββ Dockerfile # Docker configuration
βββ pyproject.toml # Project configuration
βββ README.md # This file
βββ requirements.txt # Project dependencies
Contributions are welcome! Please read our Contributing Guidelines for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
See CHANGELOG.md for a list of notable changes.
Krunal Valvi - @krunalvalvi
Project Link: https://github.com/KrunalValvi/Dev_Api_Vault
fastapi, python, api, developer-tools, rest-api, markdown, qrcode, regex, text-processing, web-development, open-source, docker, github-actions, api-documentation, swagger, redoc, backend, web-services, automation, productivity-tools, devops
π Live API | π Documentation | π Report Bug | π‘ Request Feature
- Architecture Overview - System design and component details
- Contributing Guidelines - How to contribute to the project
- Development Guide - Local development setup
- API Reference - Detailed endpoint documentation
We welcome contributions! Please see our Contributing Guide for details.
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing-feature) - π» Make your changes
- β Add tests for new functionality
- π§ͺ Run the test suite (
pytest) - π Commit your changes (
git commit -m 'Add amazing feature') - π€ Push to your branch (
git push origin feature/amazing-feature) - π Open a Pull Request
- v1.1.0 - Authentication & API Keys
- v1.2.0 - Rate limiting and usage analytics
- v1.3.0 - Additional text processing utilities
- v1.4.0 - WebSocket support for real-time operations
- v2.0.0 - Machine learning-powered text analysis
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI team for the amazing framework
- Python community for excellent libraries
- Contributors who make this project better
- π Bug Reports: GitHub Issues
- π‘ Feature Requests: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π§ Contact: krunalvalvi05@gmail.com