TogetherToGo banner

TogetherToGo

5 devlogs
20h 21m 34s

TogetherToGo is the universal civic platform where public bodies, volunteers, and citizens coordinate to take action together: from clean cities to well-maintained parks, inclusive communities and outdoor activities.

This project uses AI

GitHub Copliot (Student) for code completions

Demo Repository

Loading README...

alessandro.sgattoni20

Shipped this project!

Hours: 20.36
Cookies: 🍪 441
Multiplier: 21.65 cookies/hr

This beta delivers the complete core experience end-to-end: secure auth with verification and 2FA, role-based dashboards, sprint and task management, approvals, notifications, task collaboration (comments + activity logs), profile/session controls, and map-powered location workflows.

The foundation is now stable and production-shaped. Next phase is polish, scale testing, and deployment hardening.

Thanks to everyone following the build. We’re live in Beta.

alessandro.sgattoni20

Guys, this is the final devlog before CivicSprint v1.0.0-Beta.

What started as a rough idea is now a working full-stack platform with real role-based flows, collaboration, and security baked in.

Current flow is solid:

Sign up → verify email → login → role dashboard (Admin / Coordinator / Volunteer) → create/join sprints → manage tasks → comments/activity tracking → approvals + notifications.

What made it into Beta:

Backend:

  • Full auth system with verification, password reset, session validation, and account status handling (active/suspended/deleted)
  • Multi-device session management (view sessions, revoke one, revoke all)
  • Two-factor auth (TOTP + backup codes)
  • Sprint + task APIs with role checks and coordinator ownership rules
  • Task comments + activity timeline (who changed what and when)
  • Approval workflow with history and status transitions
  • Notification module (read/unread, unread counts, mark all read)
  • Role-based dashboard endpoints (admin/coordinator/volunteer)
  • Prisma schema matured with major migrations (auth, task collaboration, notifications, 2FA, volunteer-user linkage)

Frontend:

  • Role-based dashboards and protected routes
  • Interactive map-based location selection + sprint map views
  • Sprint detail/create/edit flows stabilized
  • Task collaboration UI (comments + activity log)
  • Notification center with polling + unread badge
  • Full profile management (edit profile, email change flow, password change, sessions, 2FA settings, account deletion)
  • Auth UX improvements (steppers, verification/reset flows, cleaner redirects and error handling)
  • UI polish across cards/forms/states/loading/skeletons

Where we are right now:

Core Beta features are in and usable end-to-end for all three roles.
Main remaining work is polish/perf: pagination in larger lists, deeper QA pass, and deployment hardening.

Big milestone. v1.0.0-Beta is ready to ship.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
alessandro.sgattoni20

Guys, I’ve been grinding. Added a ton of auth/security features, full profile management, interactive maps, task collaboration, and proper role-based dashboards.

What’s new:

Backend:

  • 2FA: Full TOTP implementation with speakeasy + QR codes, backup codes, enable/disable/regenerate
  • Session Management: Multi-device tracking (browser, OS, IP, location), view all sessions, logout specific devices or all devices, activity tracking
  • Profile Management: Change email, change password, delete account (sets accountStatus to DELETED)
  • Task Collaboration: Comments system, activity log tracking every field change (who changed what when), notifications for assignments/comments
  • Notifications Service: Real-time polling, unread counter, mark read/unread, mark all read, supports task/sprint/approval events
  • Dashboard Endpoints: Role-specific (admin sees pending approvals + user stats, coordinators see their sprints + status breakdown, volunteers see assigned tasks)
  • Account Status: ACTIVE/SUSPENDED/DELETED enum, blocks login for deleted/suspended accounts

Frontend (huge UI improvements):

  • Interactive Maps: LocationSelector with MapLibre GL + reverse geocoding (click map → get address), SprintLocationsMap showing all sprints with markers
  • Profile Page: Tabbed interface (profile/email/password/sessions/2fa/delete), 2FA setup with QR code + stepper
  • Task Collaboration: TaskComments + TaskActivityLog components showing full audit trail
  • NotificationCenter: Bell icon, unread badge, 5s polling, toast notifications
  • Dashboard Pages: Custom for each role (admin/coordinator/volunteer) with stats + recent activity
  • Auth Flow: SignupStepper, TwoFactorVerify, ProtectedRoute wrapper

Database (8 migrations):

Email verification, password reset, task comments/activities, account status, notifications, volunteer-user relation, two-factor auth

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
alessandro.sgattoni20

Guys, little update time. Backend is basically complete now (for the basic features), went from skeleton NestJS to fully working API.

The flow works end-to-end:
Sign up → Email verification → Login → Dashboard → Create/join sprints → Manage tasks → Request approval → Admin reviews

What I built since last time:

Backend (where most time went):

  • Full auth with session tokens + email verification (6-digit codes, 15min expiry, can’t login until verified)
  • Mailer service with nodemailer + SMTP + HTML templates (verification, welcome, approval notifications)
  • Sprint/Task CRUD with proper role checks (coordinators only edit their own sprints, admins do everything)
  • Approval workflow: coordinators request → sprint goes “under-review” → admin approves/rejects → notifications sent
  • Search endpoint (queries sprints/tasks by title/description/location)
  • Volunteer endpoints for profiles
  • Switched PostgreSQL to MySQL, added email verification migration

Frontend:

  • /verify-email page with token handling, auto-login, resend button
  • /showcase public landing page with stats
  • /admin/approvals page for reviewing requests

Still needs work:

  • No pagination yet. Admin approval UI is basic. No real-time notifications or image uploads. Haven’t deployed, still local on 3000/3001.

But the core works – sign up, verify, create sprints, assign tasks, request approvals, admins approve. All three roles functional end-to-end.

Attachment
Attachment
Attachment
Attachment
Attachment
0
alessandro.sgattoni20

Guys, things moved fast and the project is growing up even if I have been quite busy lately. TogetherToGo is turning into a real full-stack app: a platform where people create short community “sprints” (cleanups, city guides, pop-up cultural events) and others join as volunteers.

The user flow now is:
User -> Log-in -> Choose role (Admin / Coordinator / Volunteer) -> Create or join sprints -> Manage tasks / Request approvals

What I’ve done since the last update:

  • Frontend: finished role-based UI and guards, create/edit controls now appear only for coordinators/admins; volunteers get a read-only experience. Protected pages (dashboard, sprint details, volunteers) redirect unauthenticated users to /login.
  • Auth fix: resolved a local-Dev 401 by removing the Secure cookie flag and adding a localStorage fallback + Authorization header support for sessions.
  • Backend (started): scaffolded a separate NestJS service at togethertogo-backend.
    • Installed NestJS and Prisma, added PrismaService and PrismaModule.
    • Added Prisma schema (User, Session, Sprint, Task, Volunteer, ApprovalHistory) and .env for a local PostgreSQL connection.

What’s next (short term):

  • Implement core services & controllers: login/register (JWT), sprint CRUD, volunteer endpoints, approval request/approve flows
  • Add CORS and connect frontend to backend (API on port 3001)
  • Seed minimal demo data and test end-to-end flows for all roles

The idea is still evolving, but the foundations are in place. For now I’ve focused on secure auth, role-based UI, and a proper backend skeleton.

Have a look and tell me what you think!

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
alessandro.sgattoni20

Guys, I’m so excited that I can finally start working on a real-world project such as TogetherToGo. It’s basically a platform that allows user to create small “sprints” to improve the environment, to advertise a unique aspect of their city, to promote a cultural event etc.
The ideal user flow that works for me is:
User -> Log-in -> Choose your role (Organizer, Volounteer) -> Organize events/Apply for events
The idea is still a bit raw, but I’m sure it will improve as soon as I run into the first issues. For now, I’ve worked on a basic client-side UI to add and edit Sprints. Have a look and tell me what you think!

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0