- ⚡ FastAPI for the Python backend API.
- 🧰 SQLModel for the Python SQL database interactions (ORM).
- 🔍 Pydantic, used by FastAPI, for the data validation and settings management.
- 💾 PostgreSQL as the SQL database.
- 🚀 React for the frontend.
- 💃 Using TypeScript, hooks, Vite, and other parts of a modern frontend stack.
- 🎨 Carboncn UI & Carbon for the frontend components.
- 🤖 An automatically generated frontend client.
- 🦇 Dark mode support.
- 🐋 Docker Compose & colima for development.
- 🔒 Secure password hashing by default.
- 🔑 JWT (JSON Web Token) authentication.
- 🚢 Deployment instructions using OpenShift.
This Template is based on full-stack-fastapi-template
Check out our Collection of Sample Applications (AI-Chat, Agents, RAG, etc.) built on top of the template:
- Setup with create-cen-app and choose "full-stack-cen-template"
npm create cen-app@latest
- Or if you want to clone it and pull updates from the original template:
- Clone this repository manually, set the name with the name of the project you want to use, for example
my-full-stack
:
git clone [email protected]:technology-garage-dach/full-stack-cen-template.git my-full-stack
- Enter into the new directory:
cd my-full-stack
- Set the new origin to your new repository (copy from GitHub interface):
git remote set-url origin [email protected]:my-username/my-full-stack.git
- Add the template repository as upstream to get future updates:
git remote add upstream [email protected]:technology-garage-dach/full-stack-cen-template.git
- Push the code to your new repository:
git push -u origin main
After cloning the repository, and after doing changes, you might want to get the latest changes from this original template.
- Make sure you added the original repository as a remote, you can check it with:
git remote -v
origin [email protected]:my-username/my-full-stack.git (fetch)
origin [email protected]:my-username/my-full-stack.git (push)
upstream [email protected]:technology-garage-dach/full-stack-cen-template.git (fetch)
upstream [email protected]:technology-garage-dach/full-stack-cen-template.git (push)
- Pull the latest changes without merging:
git pull --no-commit upstream main
This will download the latest changes from this template without committing them, that way you can check everything is right before committing.
-
If there are conflicts, solve them in your editor.
-
Once you are done, commit the changes:
git merge --continue
General development docs: development.md.
OpenShift Deployment docs: oc-deployment.md.
Code Engine Deployment docs: ce-deployment.md.
Backend docs: backend/README.md.
Frontend docs: frontend/README.md.
Check the file release-notes.md.