|
21 | 21 | - [`Docker Compose`](https://docs.docker.com/compose/) With a single command, create and start all the services from your configuration. |
22 | 22 |
|
23 | 23 | ## 1. Features |
24 | | - - Fully async |
25 | | - - Pydantic V2 and SQLAlchemy 2.0 |
26 | | - - User authentication with JWT |
27 | | - - Easy redis caching |
28 | | - - Easy client-side caching |
29 | | - - ARQ integration for task queue |
30 | | - - Easily extendable |
31 | | - - Flexible |
32 | | - - Easy running with docker compose |
33 | | - |
| 24 | +- Fully async |
| 25 | +- Pydantic V2 and SQLAlchemy 2.0 |
| 26 | +- User authentication with JWT |
| 27 | +- Easy redis caching |
| 28 | +- Easy client-side caching |
| 29 | +- ARQ integration for task queue |
| 30 | +- Easily extendable |
| 31 | +- Flexible |
| 32 | +- Easy running with docker compose |
| 33 | + |
| 34 | +### 1.1 To Do |
| 35 | +- [ ] Remove python-decouple in favor of starlette.config |
| 36 | +- [ ] FastAPI docs behind authentication and hidden based on the environment |
| 37 | +- [ ] Add mongoDB support |
| 38 | +- [ ] Docs for other databases (MysQL, SQLite) |
| 39 | +- [ ] Add a photo upload endpoint for users |
| 40 | +- [ ] Add possibility of comments in posts |
| 41 | +- [ ] Add webhook to notify when a new comment is added in post |
| 42 | +- [ ] Add Ruff linting |
| 43 | + |
34 | 44 | ## 2. Contents |
35 | 45 | 0. [About](#0-about) |
36 | 46 | 1. [Features](#1-features) |
37 | | -2. [Contents](#2-contents) |
38 | | -3. [Prerequisites](#3-prerequisites) |
| 47 | + 1. [To Do](#11-to-do) |
| 48 | +3. [Contents](#2-contents) |
| 49 | +4. [Prerequisites](#3-prerequisites) |
39 | 50 | 1. [Environment Variables (.env)](#31-environment-variables-env) |
40 | 51 | 2. [Docker Compose](#32-docker-compose-preferred) |
41 | 52 | 3. [From Scratch](#33-from-scratch) |
42 | | -4. [Usage](#4-usage) |
| 53 | +5. [Usage](#4-usage) |
43 | 54 | 1. [Docker Compose](#41-docker-compose) |
44 | 55 | 2. [From Scratch](#42-from-scratch) |
45 | 56 | 1. [Packages](#421-packages) |
|
48 | 59 | 4. [Running the API](#424-running-the-api) |
49 | 60 | 3. [Creating the first superuser](#43-creating-the-first-superuser) |
50 | 61 | 4. [Database Migrations](#44-database-migrations) |
51 | | -5. [Extending](#5-extending) |
| 62 | +6. [Extending](#5-extending) |
52 | 63 | 1. [Project Structure](#51-project-structure) |
53 | 64 | 2. [Database Model](#52-database-model) |
54 | 65 | 3. [SQLAlchemy Models](#53-sqlalchemy-models) |
|
60 | 71 | 9. [More Advanced Caching](#59-more-advanced-caching) |
61 | 72 | 10. [ARQ Job Queues](#510-arq-job-queues) |
62 | 73 | 11. [Running](#511-running) |
63 | | -6. [Running in Production](#6-running-in-production) |
64 | | -7. [Testing](#7-testing) |
65 | | -8. [Contributing](#8-contributing) |
66 | | -9. [References](#9-references) |
67 | | -10. [License](#10-license) |
68 | | -11. [Contact](#11-contact) |
| 74 | +7. [Running in Production](#6-running-in-production) |
| 75 | +8. [Testing](#7-testing) |
| 76 | +9. [Contributing](#8-contributing) |
| 77 | +10. [References](#9-references) |
| 78 | +11. [License](#10-license) |
| 79 | +12. [Contact](#11-contact) |
69 | 80 |
|
70 | 81 | ___ |
71 | 82 | ## 3. Prerequisites |
|
0 commit comments