mirror of
https://github.com/wowlikon/LibraryAPI.git
synced 2025-12-11 21:30:46 +00:00
README and some fixes
This commit is contained in:
3
.env.example
Normal file
3
.env.example
Normal file
@@ -0,0 +1,3 @@
|
||||
POSTGRES_USER=postgres
|
||||
POSTGRES_PASSWORD=password
|
||||
POSTGRES_DB=mydatabase
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM python:3.9
|
||||
FROM python:3.11
|
||||
|
||||
WORKDIR /code
|
||||
|
||||
|
||||
17
README.md
Normal file
17
README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Book API
|
||||
|
||||
## Installation
|
||||
1. Clone the repository: `git clone https://github.com/yourusername/bookapi.git`
|
||||
2. Navigate to the project directory: `cd bookapi`
|
||||
3. Copy and configure environment variables: `cp .env.example .env`
|
||||
4. Build docker-compose: `docker-compose build`
|
||||
5. Run the application: `docker-compose up`
|
||||
|
||||
## Usage
|
||||
|
||||
## TODO
|
||||
* Usage instructions
|
||||
* Split models for api and db
|
||||
* Add documentation for API endpoints
|
||||
* Add alembic migrations
|
||||
* Add tests
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Optional, List
|
||||
from typing import List
|
||||
from sqlmodel import SQLModel, Field, Relationship
|
||||
|
||||
# Relationship model
|
||||
@@ -8,14 +8,14 @@ class AuthorBookLink(SQLModel, table=True):
|
||||
|
||||
# Author model
|
||||
class Author(SQLModel, table=True):
|
||||
id: Optional[int] = Field(primary_key=True, index=True)
|
||||
id: int | None = Field(primary_key=True, index=True)
|
||||
name: str
|
||||
|
||||
books: List["Book"] = Relationship(back_populates="authors", link_model=AuthorBookLink)
|
||||
|
||||
# Book model
|
||||
class Book(SQLModel, table=True):
|
||||
id: Optional[int] = Field(primary_key=True, index=True)
|
||||
id: int | None = Field(primary_key=True, index=True)
|
||||
title: str
|
||||
description: str
|
||||
authors: List[Author] = Relationship(back_populates="books", link_model=AuthorBookLink)
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
|
||||
web:
|
||||
api:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
Reference in New Issue
Block a user