A full stack template for an app and web application with backend. The repository contains:
- 🖥️ A frontend build in Typescript with SolidJS and daisyui:
- 🪪 Registering and logging in with user management
- 🔑 2 Factor Authentication
- 🔓 Password recovery with email
- ✅ User email verification
- 🌗 Dark theme support
- 📜 Support for translations, and easily add your own language
- 🧱 Lots of out-of-the-box components to use
- 📝 Code formatting with ESLint and Prettier
- 🧪 Tests with cypress
- 🗄️ A backend built in Python with Flask and SQLAlchemy:
- 🧍 User login management with cookies using Flask-Login
- 💿 Database migrations using Alembic
- 🧪 Tests with pytest
- 📝 Code formatting with ruff
- 🚀 CI/CD with pipelines for:
- 📝 Automatic linters for checking code format
- 🧪 Running tests
- 🐳 Building Docker containers
- 💻 Automated single VPS deployment
- 👷 Background tasks with built in Python with Celery and Redis:
- 📬 Send mails in the background
- ⌛ Run slow tasks in a background process
The template can be cloned into a new repository with the 'Use this template' button at the right top of this repository, or by using git clone https://github.com/Swopper050/solid-flask-web-app-template.git.
In order to run the project locally you need to:
In order to replace all instances and variants of 'My solid app', 'MySolidApp', 'my-solid-app', 'my_solid_app', 'mysolidapp' and 'MY_SOLID_APP', run the following commands:
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/My\ solid\ app/Your\ app/g' {} \;
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/MySolidApp/YourApp/g' {} \;
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/my-solid-app/your-app/g' {} \;
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/my_solid_app/your_app/g' {} \;
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/mysolidapp/yourapp/g' {} \;
find . -type f -name "*" -not -path "ui/node_modules/*" -not -path "api/.env/*" -exec sed -i 's/MY_SOLID_APP/YOUR_APP/g' {} \;When you have all of this installed, setup all docker services:
cd solid-flask-web-app-template/ # Or your folder
make docker_upSetup the ui:
cd ui/
make deps
make serverSetup the api:
cd api/
python -m venv .env
make deps
make fixtures
make serverNow you can visit the local web application at http://localhost:5173
This project currently supports deployment onto a single VPS, i.e. frontend, backend and database all running on that VPS, for both staging and production. For more information on how to do this, see the deployment docs.
You can visit the running staging and production version of this application at https://my-solid-app.nl and https://staging.my-solid-app.nl:8443.






