You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're excited to introduce you to our FastAPI Basic Project Template, carefully designed to jumpstart your FastAPI development journey. This template offers you a pre-configured project with a fundamental FastAPI setup and an organized folder structure, allowing you to hit the ground running.
63
+
64
+
## Folder Structure
65
+
66
+
```bash
67
+
└───app
68
+
├───app
69
+
│ ├───api
70
+
│ │ └───v1
71
+
│ │ └───endpoints
72
+
│ ├───core
73
+
│ ├───schemas
74
+
│ └───utils
75
+
│ └───exceptions
76
+
└───test
77
+
```
78
+
79
+
</details>
80
+
81
+
### Langchain Basic
82
+
83
+
<details>
84
+
<summary>Click me</summary>
85
+
86
+
We're thrilled to introduce you to the LangChain project template, designed to accelerate your development process. This template serves as a solid foundation for your project, complete with essential features and an organized folder structure, all thoughtfully configured and ready for use.
This is a project template which uses [FastAPI](https://fastapi.tiangolo.com/), [Alembic](https://alembic.sqlalchemy.org/en/latest/) and async [SQLModel](https://sqlmodel.tiangolo.com/) as ORM. It shows a complete async CRUD template using authentication. Our implementation utilizes the newest version of FastAPI and incorporates typing hints that are fully compatible with **Python 3.10** and later versions. If you're looking to build modern and efficient web applications with Python, this template will provide you with the necessary tools to get started quickly. You can read a short article with the motivations for starting this sample project [here](https://medium.com/allient/our-journey-using-async-fastapi-to-harnessing-the-power-of-modern-web-apis-90301827f14c?source=friends_link&sk=9006b3f2a4137a28a8576a69546c8c18).
120
+
121
+
## Why Use This Template?
122
+
123
+
Developing web applications can be a challenging process, especially when dealing with databases, authentication, asynchronous tasks, and other complex components. Our template is designed to simplify this process and offer you a solid starting point. Some of the highlights of this template include:
124
+
125
+
- FastAPI Integration: FastAPI is a modern and efficient web framework that allows you to quickly and easily create APIs. This template uses the latest features of FastAPI and offers type hints that are compatible with **Python 3.10** and later versions.
126
+
- Asynchronous Database Management: We use SQLModel, an asynchronous ORM library, to interact with the database efficiently and securely.
127
+
- Asynchronous Tasks with Celery: This template includes examples of how to execute asynchronous and scheduled tasks using Celery, which is ideal for operations that require significant time or resources.
128
+
- Authentication and Authorization: We implement JWT-based authentication and role-based access control to ensure that your APIs are secure and protected.
129
+
- Documentation and Automated Testing: The template is configured to automatically generate interactive documentation for your APIs. It also includes automated tests using pytest to ensure code quality.
130
+
- Development Best Practices: We apply code formatting, type checking, and static analysis tools to ensure that the code is readable, robust, and reliable.
131
+
132
+
## Folder Structure
133
+
134
+
```bash
135
+
.
136
+
├───.github
137
+
│ └───workflows
138
+
├───.vscode
139
+
├───backend
140
+
│ └───app
141
+
│ ├───alembic
142
+
│ │ └───versions
143
+
│ ├───app
144
+
│ │ ├───api
145
+
│ │ │ └───v1
146
+
│ │ │ └───endpoints
147
+
│ │ ├───core
148
+
│ │ ├───crud
149
+
│ │ ├───db
150
+
│ │ ├───deps
151
+
│ │ ├───models
152
+
│ │ ├───schemas
153
+
│ │ ├───utils
154
+
│ │ │ └───exceptions
155
+
│ └───test
156
+
│ └───api
157
+
├───caddy
158
+
├───db_docker
159
+
├───docs
160
+
├───minio
161
+
├───pgadmin
162
+
├───sonarqube
163
+
├───static
164
+
└───terraform
165
+
```
166
+
167
+
## Stack
168
+
169
+
-[FastAPI](https://fastapi.tiangolo.com/) - A modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
170
+
-[Pydantic](https://docs.pydantic.dev/latest/) - A library for data validation and settings management based on Python type hints.
171
+
-[SQLModel](https://sqlmodel.tiangolo.com/) - A library for interacting with SQL databases from Python code, with Python objects.
172
+
-[Alembic](https://alembic.sqlalchemy.org/en/latest/) - A lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.
173
+
-[Caddy](https://caddyserver.com/) - A powerful, enterprise-ready, open source web server with automatic HTTPS written in Go.
174
+
-[Docker](https://www.docker.com/) - A set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
175
+
-[PostgreSQL](https://www.postgresql.org/) - A powerful, open source object-relational database system.
176
+
-[PGAdmin](https://www.pgadmin.org/) - The most popular and feature rich Open Source administration and development platform for PostgreSQL.
177
+
-[Celery](https://docs.celeryq.dev/en/stable/) - A simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.
178
+
-[Redis](https://redis.io/) - An open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.
179
+
-[Minio](https://min.io/) - A high performance distributed object storage server, designed for large-scale private cloud infrastructure.
180
+
-[SonarQube](https://www.sonarqube.org/) - An open source platform for continuous inspection of code quality.
181
+
-[Pytest](https://docs.pytest.org/en/stable/) - A framework that makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
182
+
183
+
</details>
184
+
57
185
## Why use Create FastAPI Project?
58
186
59
187
`create-fastapi-project` provides a streamlined way to kickstart your FastAPI projects. Here are some compelling reasons to choose it for your project setup:
@@ -70,10 +198,8 @@ Running `create-fastapi-project` (with no arguments) launches an interactive exp
70
198
71
199
`create-fastapi-project` is maintained by the [Allient development team](https://www.allient.io/). Our team is composed by a experienced professionals specializing in FastAPI projects and NLP. If you need assistance or support for your project, please don't hesitate to get in touch with us at [[email protected]](mailto:[email protected]) or schedule a meeting with us [here](https://calendly.com/jonathanvargas).
72
200
73
-
74
201
You can check out the [create-fastapi-project GitHub repository](https://github.com/allient/create-fastapi-project) - your feedback and contributions are welcome ❤️!
0 commit comments