This project is a cocktails and drinks library, which i did as my final Superior Grade project.
Demonstration
This repository is a backend part of the project.
Written on Python + FastAPI + Google Firebase.
Deployed using Docker container and Google Cloud Run.
Google Cloud URL: (https://eterio-api-489286482375.europe-southwest1.run.app)
Frontend repo: https://github.com/maximka76667/eterio
- Default User:
User: { id: str, email: str, name: str, avatar: str } - Creating User:
UserCreate { email: str, name: str, password: str } - Updating user:
UserUpdate: { email: str, name: str, avatar: str } - UserInDb:
UserInDb: { id: str, email: str, name: str, avatar: str, password: str }
Returns all users.
Body: UserCreate
Creates a new user. Returns the created user.
Returns the current authenticated user.
Body: UserUpdate
Updates the current authenticated user. Returns the updated user.
Returns a user by their ID.
Body: UserUpdate
Updates a user by their ID. Returns the updated user.
Deletes a user by their ID. Returns the deleted user.
- Default Drink:
Drink: { name: str, img: str, code: str, ingredients: Dict[str, int], extra: List[str], description: str, is_community: bool, favorites: List[str], author: str, date: str, category: str } - DrinkInDb:
DrinkInDb: { id: str, name: str, img: str, code: str, ingredients: Dict[str, int], extra: List[str], description: str, is_community: bool, favorites: List[str], author: str, date: str, category: str }
Creates a new drink.
Fetches a specific drink by its ID.
Returns all drinks.
Updates a drink by its ID.
Deletes a drink by its ID.
Adds the current user to the favorites list of a specific drink.
Removes the current user from the favorites list of a specific drink.
UserLogin:{ email: str, password: str }Token:{ access_token: str, token_type: str }
Body: UserLogin
Logs in a user and returns a bearer token for authentication.
Category:{ name: str }CategoryInDb:{ id: str, name: str }
Returns a list of all categories.
Bottle:{ name: str, img: str }BottleInDb:{ id: str, name: str, img: str }
Returns a list of all bottles.
