You are browsing as a guest. Sign up (or log in) to start making projects!

SchoolPool

  • 3 Devlogs
  • 4 Total hours

SchoolPool is an iOS app for student carpooling — connect verified students for safe, school-organized rides

Open comments for this post

1h 30m 42s logged

Devlog #3 – SchoolPool

Picked the project back up after a couple of days away and spent the first stretch just untangling repo state — the iOS repo had diverged from GitHub (turns out global GPG signing was making merges silently hang), AdminViewModel had somehow been emptied out with a duplicate copy floating around, and the Firebase service account key wasn’t gitignored. Got all of that reconciled, merged, and pushed, then ran the full test suite: 41 unit tests green. Built and launched the app on the iPhone 16 simulator, re-seeded the demo school and rides, and grabbed fresh screenshots of a living ride feed.

Then I audited every source file for bugs and dead weight, and it turned up something genuinely bad: approving a verification request never actually updated the student’s user doc, so an approved student would stay stuck on the pending screen forever. On top of that, the admin review dashboard was fully built but unreachable — no navigation path led to it at all. Fixed both: approve/reject now flips the request and the user’s status + school in one atomic batch write, and the dashboard now lives in an Admin tab that only appears for school admins.

The backend got a matching rules pass too — school admins can now actually write verification status, ride requests and verification requests are validated against school boundaries, and rating reads are restricted to ride participants so nobody can scrape strangers’ ratings. All validated in the Firebase emulator and committed. Two loose ends for next time: the backend repo has no git remote configured, so those commits only exist on my machine, and the new rules still need a firebase deploy to actually hit production.

0
0
1
Open comments for this post

50m 6s logged

Devlog #2 – SchoolPool

Spent the session auditing and tightening the SchoolPool backend on the Spark plan. I found that any user could self-grant verified/schoolAdmin/adminSchoolIds at doc-create, and a driver could rewrite any ride field. Plus ratings could target strangers and rideRequests could forge a driverId to push-spam anyone. Also, the school search was fully broken. So I fixed both of them! :P

0
0
2
Open comments for this post

2h 6m 45s logged

Devlog #1 – SchoolPool

‎‎
Got all ten core features built and the app running on the simulator this week — creating and finding rides, booking seats, live ride status, chat, ratings, trip history, the works. Wired up the Firebase backend too and deployed the security rules and indexes, then seeded a fake school with a handful of rides so the discovery feed actually looks alive instead of empty.

‎‎
Hit one wall: I’m still on Firebase’s free plan, which won’t let me turn on Cloud Storage, so the student-ID verification upload just errors out — there’s literally no bucket for the photo to land in. The code itself is fine, it just needs me to upgrade the plan. For now I’m skipping verification by flagging my test account as verified directly in the database.

‎‎
So the whole ride flow is working end to end and looks the way I wanted. The one broken piece is broken for a billing reason, not a code reason, which I’ll take. Next up: upgrade the plan to light up Storage + push notifications, then grab real screenshots for the App Store.

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…