This is a REST API built with FastAPI with testing using Pytest and CI/CD using Github Actions.
- API Documentation with Swagger UI.
- Users can register and login using JWT.
- Users can create, read, update, and delete posts (some operations require authentication).
- Users can vote on posts.
- posts (
id
,title
,owner_id
,content
,published
,created_at
) - users (
id
,email
,password
,created_at
) - votes (
user_id
,post_id
)
- FastAPI
- PostgreSQL
- SQLAlchemy
- Pydantic
- Alembic