Skip to content

Commit b88fe20

Browse files
authored
Merge pull request #178 from benavlabs/docs-fix
Add warning to docs, fix url
2 parents 2df955a + 5d42c26 commit b88fe20

File tree

2 files changed

+31
-20
lines changed

2 files changed

+31
-20
lines changed

README.md

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</p>
55

66
<p align="center">
7-
<a href="https://github.com/igormagalhaesr/FastAPI-boilerplate">
7+
<a href="https://benavlabs.github.io/FastAPI-boilerplate">
88
<img src="docs/assets/FastAPI-boilerplate.png" alt="Purple Rocket with FastAPI Logo as its window." width="35%" height="auto">
99
</a>
1010
</p>
@@ -37,7 +37,13 @@
3737

3838
## 📖 Documentation
3939

40-
📚 **[Visit our comprehensive documentation at benavlabs.github.io/fastapi-boilerplate](https://benavlabs.github.io/fastapi-boilerplate/)**
40+
📚 **[Visit our comprehensive documentation at benavlabs.github.io/FastAPI-boilerplate](https://benavlabs.github.io/FastAPI-boilerplate/)**
41+
42+
> **⚠️ Documentation Status**
43+
>
44+
> This is our first version of the documentation. While functional, we acknowledge it's rough around the edges - there's a huge amount to document and we needed to start somewhere! We built this foundation (with a lot of AI assistance) so we can improve upon it.
45+
>
46+
> Better documentation, examples, and guides are actively being developed. Contributions and feedback are greatly appreciated!
4147
4248
This README provides a quick reference for LLMs and developers, but the full documentation contains detailed guides, examples, and best practices.
4349

@@ -126,7 +132,7 @@ ______________________________________________________________________
126132

127133
## 3. Prerequisites
128134

129-
> 📖 **[See detailed installation guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/getting-started/installation/)**
135+
> 📖 **[See detailed installation guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/getting-started/installation/)**
130136
131137
### 3.0 Start
132138

@@ -154,7 +160,7 @@ git clone https://github.com/igormagalhaesr/FastAPI-boilerplate
154160
155161
### 3.1 Environment Variables (.env)
156162

157-
> 📖 **[See complete configuration guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/getting-started/configuration/)**
163+
> 📖 **[See complete configuration guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/getting-started/configuration/)**
158164
159165
Then create a `.env` file inside `src` directory:
160166

@@ -314,7 +320,7 @@ pip install uv
314320

315321
## 4. Usage
316322

317-
> 📖 **[See complete first run guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/getting-started/first-run/)**
323+
> 📖 **[See complete first run guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/getting-started/first-run/)**
318324
319325
### 4.1 Docker Compose
320326

@@ -544,11 +550,11 @@ uv run alembic upgrade head
544550
545551
## 5. Extending
546552

547-
> 📖 **[See comprehensive development guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/development/)**
553+
> 📖 **[See comprehensive development guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/development/)**
548554
549555
### 5.1 Project Structure
550556

551-
> 📖 **[See detailed project structure guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/project-structure/)**
557+
> 📖 **[See detailed project structure guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/project-structure/)**
552558
553559
First, you may want to take a look at the project structure and understand what each file is doing.
554560

@@ -679,7 +685,7 @@ Note that this table is used to blacklist the `JWT` tokens (it's how you log a u
679685

680686
### 5.3 SQLAlchemy Models
681687

682-
> 📖 **[See database models guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/database/models/)**
688+
> 📖 **[See database models guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/database/models/)**
683689
684690
Inside `app/models`, create a new `entity.py` for each new entity (replacing entity with the name) and define the attributes according to [SQLAlchemy 2.0 standards](https://docs.sqlalchemy.org/en/20/orm/mapping_styles.html#orm-mapping-styles):
685691

@@ -703,7 +709,7 @@ class Entity(Base):
703709

704710
### 5.4 Pydantic Schemas
705711

706-
> 📖 **[See database schemas guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/database/schemas/)**
712+
> 📖 **[See database schemas guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/database/schemas/)**
707713
708714
Inside `app/schemas`, create a new `entity.py` for each new entity (replacing entity with the name) and create the schemas according to [Pydantic V2](https://docs.pydantic.dev/latest/#pydantic-examples) standards:
709715

@@ -753,7 +759,7 @@ class EntityDelete(BaseModel):
753759

754760
### 5.5 Alembic Migrations
755761

756-
> 📖 **[See database migrations guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/database/migrations/)**
762+
> 📖 **[See database migrations guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/database/migrations/)**
757763
758764
> \[!WARNING\]
759765
> To create the tables if you did not create the endpoints, ensure that you import the models in src/app/models/__init__.py. This step is crucial to create the new models.
@@ -772,7 +778,7 @@ uv run alembic upgrade head
772778

773779
### 5.6 CRUD
774780

775-
> 📖 **[See CRUD operations guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/database/crud/)**
781+
> 📖 **[See CRUD operations guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/database/crud/)**
776782
777783
Inside `app/crud`, create a new `crud_entities.py` inheriting from `FastCRUD` for each new entity:
778784

@@ -979,7 +985,7 @@ crud_user.get(db=db, username="myusername", schema_to_select=UserRead)
979985

980986
### 5.7 Routes
981987

982-
> 📖 **[See API endpoints guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/api/endpoints/)**
988+
> 📖 **[See API endpoints guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/api/endpoints/)**
983989
984990
Inside `app/api/v1`, create a new `entities.py` file and create the desired routes
985991

@@ -1021,7 +1027,7 @@ router.include_router(entity_router)
10211027

10221028
#### 5.7.1 Paginated Responses
10231029

1024-
> 📖 **[See API pagination guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/api/pagination/)**
1030+
> 📖 **[See API pagination guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/api/pagination/)**
10251031
10261032
With the `get_multi` method we get a python `dict` with full suport for pagination:
10271033

@@ -1087,7 +1093,7 @@ async def read_entities(
10871093

10881094
#### 5.7.2 HTTP Exceptions
10891095

1090-
> 📖 **[See API exceptions guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/api/exceptions/)**
1096+
> 📖 **[See API exceptions guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/api/exceptions/)**
10911097
10921098
To add exceptions you may just import from `app/core/exceptions/http_exceptions` and optionally add a detail:
10931099

@@ -1116,7 +1122,7 @@ if not post:
11161122

11171123
### 5.8 Caching
11181124

1119-
> 📖 **[See comprehensive caching guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/caching/)**
1125+
> 📖 **[See comprehensive caching guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/caching/)**
11201126
11211127
The `cache` decorator allows you to cache the results of FastAPI endpoint functions, enhancing response times and reducing the load on your application by storing and retrieving data in a cache.
11221128

@@ -1281,7 +1287,7 @@ For `client-side caching`, all you have to do is let the `Settings` class define
12811287

12821288
### 5.10 ARQ Job Queues
12831289

1284-
> 📖 **[See background tasks guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/background-tasks/)**
1290+
> 📖 **[See background tasks guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/background-tasks/)**
12851291
12861292
Depending on the problem your API is solving, you might want to implement a job queue. A job queue allows you to run tasks in the background, and is usually aimed at functions that require longer run times and don't directly impact user response in your frontend. As a rule of thumb, if a task takes more than 2 seconds to run, can be executed asynchronously, and its result is not needed for the next step of the user's interaction, then it is a good candidate for the job queue.
12871293

@@ -1378,7 +1384,7 @@ async def your_background_function(
13781384
13791385
### 5.11 Rate Limiting
13801386

1381-
> 📖 **[See rate limiting guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/rate-limiting/)**
1387+
> 📖 **[See rate limiting guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/rate-limiting/)**
13821388
13831389
To limit how many times a user can make a request in a certain interval of time (very useful to create subscription plans or just to protect your API against DDOS), you may just use the `rate_limiter_dependency` dependency:
13841390

@@ -1494,7 +1500,7 @@ Note that for flexibility (since this is a boilerplate), it's not necessary to p
14941500
14951501
### 5.12 JWT Authentication
14961502

1497-
> 📖 **[See authentication guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/authentication/)**
1503+
> 📖 **[See authentication guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/authentication/)**
14981504
14991505
#### 5.12.1 Details
15001506

@@ -1681,7 +1687,7 @@ volumes:
16811687

16821688
## 6. Running in Production
16831689

1684-
> 📖 **[See production deployment guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/production/)**
1690+
> 📖 **[See production deployment guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/production/)**
16851691
16861692
### 6.1 Uvicorn Workers with Gunicorn
16871693

@@ -1876,7 +1882,7 @@ And finally, on your browser: `http://localhost/docs`.
18761882

18771883
## 7. Testing
18781884

1879-
> 📖 **[See comprehensive testing guide in our docs](https://benavlabs.github.io/fastapi-boilerplate/user-guide/testing/)**
1885+
> 📖 **[See comprehensive testing guide in our docs](https://benavlabs.github.io/FastAPI-boilerplate/user-guide/testing/)**
18801886

18811887
This project uses **fast unit tests** that don't require external services like databases or Redis. Tests are isolated using mocks and run in milliseconds.
18821888

docs/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
<i>A production-ready FastAPI boilerplate to speed up your development.</i>
99
</p>
1010

11+
!!! warning "Documentation Status"
12+
This is our first version of the documentation. While functional, we acknowledge it's rough around the edges - there's a huge amount to document and we needed to start somewhere! We built this foundation (with a lot of AI assistance) so we can improve upon it.
13+
14+
Better documentation, examples, and guides are actively being developed. Contributions and feedback are greatly appreciated!
15+
1116
<p align="center">
1217
<a href="https://fastapi.tiangolo.com">
1318
<img src="https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi" alt="FastAPI">

0 commit comments

Comments
 (0)