Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions app/db/deps.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@
import redis.asyncio as redis
from typing import AsyncGenerator
import sentry_sdk

import os

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/v1/auth/token") # Gets Bearer and Token from Authorization header and passes to function

# Connection Pooling for Redis requests
redis_pool = redis.ConnectionPool.from_url("redis://redis:6379", decode_responses=True)
redis_url = os.getenv("REDIS_URL", "redis://redis:6379")
redis_pool = redis.ConnectionPool.from_url(redis_url, decode_responses=True)


async def get_db():
Expand Down
10 changes: 8 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

[![Backend Tests](https://github.com/NoobCoder12/BusinessValidator/actions/workflows/tests.yml/badge.svg)](https://github.com/NoobCoder12/BusinessValidator/actions/workflows/tests.yml)

> 🚀 **Live demo:** https://bu-75b9bcd99b004b569762b8ee62500cd3.ecs.eu-north-1.on.aws/docs

A REST API that lets users verify whether a business is an active VAT taxpayer using its NIP (tax ID). Built with FastAPI and integrated with the official VIES SOAP service.

> **Version:** 1.7.0
> **Version:** 1.8.0

---

Expand All @@ -20,6 +22,7 @@ I built this to get hands-on experience with FastAPI and explore how to integrat
- Protecting public endpoints with rate limiting
- Generating and verifying hashed API keys as an alternative authentication method
- Integrating Sentry for error tracking and performance monitoring
- Deploying containerized applications to AWS (ECS, RDS, ElastiCache)

---

Expand Down Expand Up @@ -57,7 +60,7 @@ The raw key is returned once — store it securely. Only a bcrypt hash is saved

**Backend:** FastAPI, SQLAlchemy, Pydantic, Zeep, SlowAPI, Alembic
**Database:** PostgreSQL
**Infrastructure:** Docker, Sentry
**Infrastructure:** Docker, AWS (ECS, RDS, ElastiCache), Sentry
**Testing:** pytest, pytest-asyncio, httpx

---
Expand Down Expand Up @@ -180,6 +183,9 @@ The project includes an automated test suite built with **pytest** and **pytest-

## Changelog

### v1.8.0
- Deployed to AWS (ECS + RDS + ElastiCache)

### v1.7.0
- Automated test suite with pytest and pytest-asyncio
- Integration tests with isolated test database
Expand Down
Loading