Public preview · Try Sentiment, Image Captioning and Housing. Explore Forge & Voice and WiseShield through their project stories.
IAIbrahim Aldulaimi

Team project

Socialdeck

My backend and account-flow contributions within a shared senior-design application.

Project overview · no live application

Project
Senior-design team project · Flutter, Riverpod, Firebase
My contribution
Backend integration for authentication, onboarding, and profiles, including validation and loading/error states.
Current scope
Ongoing team development. This overview attributes my contribution; it does not claim a complete live application.

Building the account flows a team can build on

Socialdeck is a senior-design team project centered on player profiles, decks, games, and social connections. My contribution focuses on an earlier part of that experience: helping a person create an account, complete onboarding, and establish the profile the rest of the app will use.

Connecting a screen to stored data

A sign-up or profile screen needs more than a successful database write. It has to validate input, show that work is in progress, explain failures, and carry the right state into the next screen. My backend integration work connects those flows to the Flutter interface and Firebase services.

Making the boundaries useful to teammates

The shared architecture separates presentation screens, Riverpod state, domain contracts, and Firebase repositories. I work within those boundaries so a widget does not need to know the details of database access and a repository can be reused by another flow.

That separation matters as the team develops friend discovery, requests, and inbox updates. Existing account and profile flows provide a pattern for validation and loading/error/success states, giving later features a consistent foundation.

Progress within a shared project

The account, onboarding, and profile integration described here is my contribution within the team’s application. Broader social functionality remains in progress, and this portfolio does not present the entire product as individual work or offer unfinished features as a live demo.

The lesson for me is practical: a contribution has to make sense to the next person working on it. Clear responsibilities, code reviews, and documentation help teammates connect their work and keep the application coherent as it grows.

How it works

Team context

Socialdeck is an ongoing senior-design collaboration around player profiles, decks, games, and social connections. This page documents Ibrahim’s contribution within that team; it does not present the entire application as individual work.

Tools and architecture

The team application uses Flutter and Dart, Riverpod for application state, Firebase Authentication for accounts, Firestore for stored data, and Firebase Storage for profile images. Presentation screens, state providers, domain contracts, and repository implementations form separate layers.

Contribution and implementation flow

The documented contribution focuses on backend integration and connecting account and profile flows to the interface: authentication, sign-up, onboarding, profile creation, validation, and loading/error/success states. Screens obtain state through providers, which coordinate repository access to Firebase services rather than putting database calls directly into widgets.

Work still in progress

Friend discovery, requests, inbox updates, and broader social integration are ongoing team scope. Existing sign-up and profile flows provide reference patterns for future implementation. This portfolio does not offer a live demonstration of unfinished social features.

Portfolio boundary

The team application source was not changed for this portfolio. Navigation and descriptive pages are separate from the shared senior-design repository. The separate React prototype is not represented as the full Flutter application.