Top question on Stack Overflow this year: 'How do I build a backend without leaving Dart?' Enter Serverpod—the open-source powerhouse that's making full-stack Dart the 2025 must-have. In this new series, we're building a real-world fintech to-do app from scratch: secure tasks, real-time updates, and cloud-ready deploys. No more half-solutions!
[Course] Full-Stack Mobile Development With Flutter and Serverpod - Watch on youtube
- fintech_todo_server/ — Serverpod server
- bin/main.dart — server entrypoint
- Dockerfile — for containerized deploys
- migrations/ — DB migrations
- lib/src/generated/ — generated protocol & endpoints
- fintech_todo_flutter/ — Flutter client
- lib/main.dart — app entrypoint
- fintech_todo_client/ — generated client package
Prereqs: Docker, Flutter, Dart SDK (for server).
-
Clone:
git clone https://github.com/techwithsam/fintech_todo_serverpod cd fintech_todo -
Start local DB & Redis (example using docker-compose):
cd fintech_todo_server && docker compose up -d
-
Run the server:
# from fintech_todo/ dart pub get dart run bin/main.dart # (or run with migrations) dart run bin/main.dart --apply-migrations
-
Run the Flutter app:
cd ../fintech_todo_flutter flutter pub get flutter run -
Access localhp:
curl http://localhost:8080/
-
Regenerate client after changing server models/endpoints:
# from fintech_todo_server/ serverpod generate -
Set SERVER_URL in Flutter (web / build):
flutter build web --dart-define=SERVER_URL=https://your-app.example
See DEPLOYMENT.md for step‑by‑step Railway and Heroku instructions, Dockerfile, env vars, and common fixes.
Quick notes:
- Use production config:
config/production.yaml - Apply migrations on first deploy
- Ensure port 8080 exposed and publicHost set to your domain
MIT — see LICENSE file.
