# FastAPI App

Generated by `pd init fastapi`.

## Structure

- `/app` contains the main application code.
- `/static` serves static css, js, and images.
- `/templates` contains Jinja2 templates.

```bash
|-- app/
    |-- apis/ # Third-party APIs (e.g. OpenAI)
        |-- api.py
    |-- model/ # Data models (e.g. Pydantic)
        |-- model.py
    |-- routers/ # Application routes (uses FastAPI Router)
        |-- home.py
    |-- main.py # FastAPI Entry Point
|-- static/ # Static files
    |-- css/
        |-- index.css
    |-- fonts/
        |-- Rosario-Regular.ttf
    |-- img/
        |-- pd.png
    |-- js/ # Generated by TypeScript
        |-- index.js
    |-- ts/
        |-- index.ts
    |-- favicon.ico
    |-- logo192.png
    |-- logo512.png
    |-- manifest.json
    |-- robots.txt
|-- templates/
    |-- head.html
    |-- index.html # HTML Entry point
    |-- logo.html
|-- .gitignore
|-- package.json # Node.js dependencies
|-- README.md # This file
|-- requirements.txt # FastAPI App dependencies
|-- tsconfig.json # TypeScript configuration
```

## Install

In the root directory of the project, run:

```bash
pip install -r requirements.txt
npm install
```

## Run

In the root directory of the project, run:

```bash
python3 -m uvicorn app.main:app --reload
```

## Learn More

To learn FastAPI, check out the [FastAPI documentation](https://fastapi.tiangolo.com/).