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

SchoolPool

  • 4 Devlogs
  • 7 Total hours

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

Ship #1 Changes requested

🚗 SchoolPool is live! 🚗

Pool together. Lift each other. Introducing carpool matching for school communities. Students, parents, and staff can post and claim rides within their own verified school circle.

Try it now, no signup required: https://github.com/guptaronav/SchoolPool/releases/tag/v1.1.0

Download the zip, drop it into the iOS Simulator, tap Mock Sign In, and you’re in.

Please give me a 9 because I spent forever making this and hopefully with enough stardust I can get the apple developer license to deploy this on the app store!!!

  • 4 devlogs
  • 7h
Try project → See source code →
Open comments for this post

1h 18m 10s logged

Devlog #4 – SchoolPool

I didn’t have an apple developer account when making this project, so rather than using TestFlight, I had to make an alternative. I set up GitHub Actions to build the app straight from the repo, zip it up, and attach it to a GitHub release automatically every time I push a version tag. Anyone can download that zip, drag it into their own Simulator, and run the real app in a couple minutes.

0
0
68
Open comments for this post

1h 35m 51s 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
3
Open comments for this post

1h 1m 35s 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
3
Open comments for this post

2h 40m 30s 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
6

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…