iytiraf is a social app for students at the Izmir Institute of Technology (IYTE). It’s built around anonymous confessions (the name plays on “itiraf”, Turkish for confession) plus a campus feed: posts with photos and location tags, announcements and events, and a small marketplace where students list things to sell. Sign-up needs an IYTE email address, so only the university community can post.
Flutter and Firebase
The app is Flutter with the BLoC pattern, on Firebase: Auth, Firestore, Storage, and Cloud Functions for notifications and user services. Push notifications go through Cloud Messaging, shared posts open through Dynamic Links, and the app is in Turkish and English. Onboarding asks for photo, location and notification permissions one at a time, each with a short reason.
Parts: iytiraf app (Flutter · BLoC), Firebase Auth (IYTE email), Firestore (posts · events), Dynamic Links (shared posts), Cloud Functions (push · user services), Cloud Messaging (announcements).
- iytiraf app to Firebase Auth (sign up)
- iytiraf app to Firestore
- iytiraf app to Dynamic Links
- Firestore to Cloud Functions (triggers)
- Cloud Functions to Cloud Messaging
The GraphQL stack
There’s also a GraphQL implementation: a React Native app using Apollo Client with generated types against Hasura on Postgres, CodePush for over-the-air updates, a Next.js web app with a block-based post editor, and a NestJS server with Bull job queues, Google Cloud Storage and Firebase Admin. It covers sign-in, onboarding and the post feed.
