Skip to content

About

a TODO collaboration tool with friends

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

A collaborative to-do list application for friends.

available on Google Play and Apple Store

Get it on Google Play (Apple Store coming soon)

Stop chasing friends in group chats and start getting things done together with an effortless task manager built for trips, party planning, and household chores. Pick any friend directly from your phone’s contacts to assign a task—if they don't have the app, an instant text message invites them to join, with all future updates switching to push notifications. Track progress automatically without follow-up texts, or try our interactive web demo to see how easy collaboration is before you install!


need designer?

deployment

development

  • install serverpod see quickstart: dart install serverpod_cli
  • run project: start server: serverpod start
  • When using serverpod_embedded_postgres: serverpod start, Serverpod manages a standalone Postgres instance directly without Docker. To connect using psql, you need two key parameters from your project files:
    • Port, User, and Database Name: Found in config/development.yaml
    • Password: Found in config/passwords.yaml or start postgres separatelly and see the connection string: serverpod database start

connect physical device on macos in the same WiFi

  • find local IP in the WiFi: ipconfig getifaddr en0
  • update Serverpod's dotogether_server/config/development.yaml publicHost: localhost to publicHost: 10.66.11.24
  • start Postgres separately: serverpod database start
  • start serverpod: serverpod start --no-flutter
  • start the app: flutter run -d 00008030-001059C01AEA402E --dart-define SERVER_URL=http://10.66.11.24:8080/

Google OAuth2

flutter build web --base-href / --output ../dotogether_server/web/app  # from your Flutter project
serverpod start --no-flutter                                           # from your server project

using Firebase Auth

migrating database

  • Regenerate code: serverpod generate
  • Create fresh migration: serverpod create-migration
  • apply migration: dart bin/main.dart --apply-migrations

Understanding API Server vs Web Server

  • API Server (apiServer - Default: Port 8080): Handles Flutter client communication using WebSockets (for streaming/subscriptions) and HTTP RPC requests (for standard endpoint method calls).

  • Web Server (webServer - Default: Port 8082): Handles standard HTTP requests. This serves static web content, HTML web pages, and incoming OAuth redirect callbacks from external web browsers (like Google or Apple).

Adding Custom HTTP Handlers/Routes to the Web Server

  • In Serverpod, custom HTTP endpoints for the webServer are created by extending WidgetRoute (for HTML pages) or Route (for JSON/raw HTTP responses), and then adding them to pod.webServer.

Flutter UI

alt text

About

a TODO collaboration tool with friends

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages