Opinionated Foundation Boilerplate for a SaaS Platform
- Boring tech
- Reproducible builds
- Development flow
- easy deployment
- preview builds
- 100% test coverage
- Easy to extend
tech
- fastapi
- postgresql
- htmx
- tailwind.css
- Requires a python installation (recommend python 3.12)
- Github access https://docs.github.com/en/get-started/quickstart/set-up-git
- Docker/Docker compose
brew updateInstall pyenv https://github.com/pyenv/pyenv
brew install pyenvusing pyenv
pyenv versionbrew install pipx
pipx ensurepath
sudo pipx --global ensurepath # optional to allow pipx actions with --global argumentbrew update
brew install pyenv
eval "$(pyenv init -)"Install python
pyenv install 3.12set the local dir to use the python version
pyenv local 3.12Install Poetry
curl -sSL https://install.python-poetry.org | python -Set the virtual env to be local to the project
poetry config virtualenvs.in-project true
cd basic-foundation
Install dependencies for python and npm (tailwind)
make install Setup the environment
cp .env.ci .envRun docker-compose (postgres)
docker compose upSetup database
make migratemake run Run api tests
make test-apiRun playwright tests (assume fastapi instance is running on localhost:8000)
make test-playwrightEnter the poetry shell
poetry shell- Signup/Login to render.com dashboard
- Select "New Blueprint"
- Choose the basic-foundation repo from the list and click the "Connect" button
- View the service on the dashboard