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
Copy file name to clipboardExpand all lines: README.md
+59-21Lines changed: 59 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,48 +1,76 @@
1
1
# FastAPI, Jinja2, PostgreSQL Webapp Template
2
2
3
+
3
4

4
5
5
-
## Documentation
6
+
## Quickstart
6
7
7
-
This README provides a high-level overview. See the **[full documentation website](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/)** for more detailed information on installation, features, architecture, conventions and code style, customization, and deployment to cloud platforms.
8
+
This quickstart guide provides a high-level overview. See the full
*FastAPI, Jinja2, PostgreSQL Webapp Template* combines three of the most lightweight and performant open-source web development frameworks in existence into a customizable webapp template with:
22
+
This template combines three of the most lightweight and performant
23
+
open-source web development frameworks into a customizable webapp
24
+
template with:
12
25
13
26
- Pure Python backend
14
-
-Low-Javascript frontend
15
-
- Powerful, easy-to-manage database layer
27
+
-Minimal-Javascript frontend
28
+
- Powerful, easy-to-manage database
16
29
17
30
The template also includes full-featured secure auth with:
18
31
19
32
- Token-based authentication
20
33
- Password recovery flow
21
34
- Role-based access control system
22
35
23
-
The design philosophy of the template is to prefer low-level, best-in-class open-source frameworks that offer flexibility, scalability, and performance without vendor-lock-in. You'll find the template amazingly easy not only to understand and customize, but also to deploy to any major cloud hosting platform.
36
+
## Design Philosophy
37
+
38
+
The design philosophy of the template is to prefer low-level,
39
+
best-in-class open-source frameworks that offer flexibility,
40
+
scalability, and performance without vendor-lock-in. You’ll find the
41
+
template amazingly easy not only to understand and customize, but also
42
+
to deploy to any major cloud hosting platform.
24
43
25
-
## Tech stack
44
+
## Tech Stack
26
45
27
46
**Core frameworks:**
28
-
-[FastAPI](https://fastapi.tiangolo.com/): scalable, high-performance, type-annotated Python web backend framework
29
-
-[PostgreSQL](https://www.postgresql.org/): the world's most advanced open-source database engine
30
-
-[Jinja2](https://jinja.palletsprojects.com/en/3.1.x/): frontend HTML templating engine
(Note: You will need to activate the shell every time you open a new terminal session. Alternatively, you can use the `poetry run` prefix before other commands to run them without activating the shell.)
118
+
(Note: You will need to activate the shell every time you open a new
119
+
terminal session. Alternatively, you can use the `poetry run` prefix
120
+
before other commands to run them without activating the shell.)
91
121
92
122
### Set environment variables
93
123
94
124
Copy .env.example to .env with `cp .env.example .env`.
95
125
96
-
Generate a 256 bit secret key with `openssl rand -base64 32` and paste it into the .env file.
126
+
Generate a 256 bit secret key with `openssl rand -base64 32` and paste
127
+
it into the .env file.
97
128
98
129
Set your desired database name, username, and password in the .env file.
99
130
100
-
To use password recovery, register a [Resend](https://resend.com/) account, verify a domain, get an API key, and paste the API key into the .env file.
131
+
To use password recovery, register a [Resend](https://resend.com/)
132
+
account, verify a domain, get an API key, and paste the API key into the
133
+
.env file.
101
134
102
135
### Start development database
103
136
@@ -107,7 +140,8 @@ docker compose up -d
107
140
108
141
### Run the development server
109
142
110
-
Make sure the development database is running and tables and default permissions/roles are created first.
143
+
Make sure the development database is running and tables and default
Your contributions are welcome! See the [issues page](https://github.com/promptly-technologies-llc/fastapi-jinja2-postgres-webapp/issues) for ideas. Fork the repository, create a new branch, make your changes, and submit a pull request.
Copy file name to clipboardExpand all lines: docs/contributing.qmd
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -8,12 +8,17 @@ Fork the repository, create a new branch, make your changes, and submit a pull r
8
8
9
9
### Render the documentation
10
10
11
-
The documentation is rendered with [Quarto](https://quarto.org/docs/). Make changes to the `.qmd` files in the `docs` folder. Then run the following command to render:
11
+
The README and documentation website are rendered with [Quarto](https://quarto.org/docs/). Make changes to the `.qmd` files in the root folder and the `docs` folder. Then run the following commands to render:
12
12
13
13
```bash
14
+
# To render the documentation website
14
15
quarto render
16
+
# To render the README
17
+
quarto render index.qmd --output-dir . --output README.md --to gfm
15
18
```
16
19
20
+
Due to a quirk of Quarto, an unnecessary `index.html` file is created in the root folder when the README is rendered. This file can be safely deleted.

6
+
7
+
## Quickstart
8
+
9
+
This quickstart guide provides a high-level overview. See the full documentation for comprehensive information on [features](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/index.html), [installation](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/installation.html), [architecture](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/architecture.html), [conventions, code style, and customization](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/customization.html), [deployment to cloud platforms](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/deployment.html), and [contributing](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/contributing.html).
10
+
11
+
## Features
12
+
13
+
This template combines three of the most lightweight and performant open-source web development frameworks into a customizable webapp template with:
14
+
15
+
- Pure Python backend
16
+
- Minimal-Javascript frontend
17
+
- Powerful, easy-to-manage database
18
+
19
+
The template also includes full-featured secure auth with:
20
+
21
+
- Token-based authentication
22
+
- Password recovery flow
23
+
- Role-based access control system
24
+
25
+
## Design Philosophy
26
+
27
+
The design philosophy of the template is to prefer low-level, best-in-class open-source frameworks that offer flexibility, scalability, and performance without vendor-lock-in. You'll find the template amazingly easy not only to understand and customize, but also to deploy to any major cloud hosting platform.
28
+
29
+
## Tech Stack
30
+
31
+
**Core frameworks:**
32
+
33
+
-[FastAPI](https://fastapi.tiangolo.com/): scalable, high-performance, type-annotated Python web backend framework
34
+
-[PostgreSQL](https://www.postgresql.org/): the world's most advanced open-source database engine
35
+
-[Jinja2](https://jinja.palletsprojects.com/en/3.1.x/): frontend HTML templating engine
-[Resend](https://resend.com/): zero- or low-cost email service used for password recovery
48
+
49
+
## Installation
50
+
51
+
For comprehensive installation instructions, see the [installation page](https://promptlytechnologies.com/fastapi-jinja2-postgres-webapp/docs/installation.html).
52
+
53
+
### Python and Docker
54
+
55
+
-[Python 3.12 or higher](https://www.python.org/downloads/)
56
+
-[Docker and Docker Compose](https://docs.docker.com/get-docker/)
(Note: You will need to activate the shell every time you open a new terminal session. Alternatively, you can use the `poetry run` prefix before other commands to run them without activating the shell.)
97
+
98
+
### Set environment variables
99
+
100
+
Copy .env.example to .env with `cp .env.example .env`.
101
+
102
+
Generate a 256 bit secret key with `openssl rand -base64 32` and paste it into the .env file.
103
+
104
+
Set your desired database name, username, and password in the .env file.
105
+
106
+
To use password recovery, register a [Resend](https://resend.com/) account, verify a domain, get an API key, and paste the API key into the .env file.
107
+
108
+
### Start development database
109
+
110
+
```bash
111
+
docker compose up -d
112
+
```
113
+
114
+
### Run the development server
115
+
116
+
Make sure the development database is running and tables and default permissions/roles are created first.
Your contributions are welcome! See the [issues page](https://github.com/promptly-technologies-llc/fastapi-jinja2-postgres-webapp/issues) for ideas. Fork the repository, create a new branch, make your changes, and submit a pull request.
133
+
134
+
### License
135
+
136
+
This project is licensed under the MIT License. See the LICENSE file for more details.
0 commit comments