SOFTWARE / UCT · CSC3003S · Collaborative / 2024
Connecting students with tutors
A collaborative React Native application connecting identity, tutor discovery and session workflows through Firebase-backed services.
UCT / COURSE CONTEXT / 2024
CSC3003S · Computer Science 3003
Advanced software design, algorithm analysis and limits of computation.
ENGINEERING PERSPECTIVE
Inside the work
Connect identity, role-specific navigation and persistent records into a mobile tutoring workflow. The interesting engineering work is the integration between screens and services, not just the number of screens.
- React Native / Expo
- Mobile UI structure and application tooling.
- React Navigation / Firebase
- Student/tutor screen flows plus Authentication, Firestore and Storage integrations present in source.
Enter a role
Sign-in and registration lead into student/tutor profile flows.
- Role flows
- Student and tutor journeys must agree on identity, navigation state and record ownership.
- Service boundaries
- A visible form or wallet screen is not proof of backend authorization or payment processing.
- Team integration
- Forty Azhar commits support contributions across several overlapping modules, not sole ownership of shared features.
What the demonstration establishes
Source parsing and Git history establish the application and contributions. The early Stage 3 report lists backend chat/testing as future work; it is not evidence of a production-ready service.
Evidence behind this page
Shared source, path-level Git history and named group report. Team source remains private pending republishing permission.
What it is
TuToR is a group capstone application for students and tutors in the UCT network, bringing discovery, profiles, meeting/session screens and feedback into a mobile workflow.
Why it was built
A collaborative capstone aimed at bringing tutor discovery and student/tutor session workflows into one mobile application.
My contribution
Local Git history records 40 commits under Azhar. Reviewed path history supports contributions to AppNavigator, sign-in/registration, chat, meeting details and profile/transcript screens. Teammates also edited overlapping modules; exclusive feature ownership is not claimed.
How it works
React Navigation connects student/tutor screen flows. Firebase Authentication, Firestore and Storage provide authentication and persistence. Source includes wallet and transcript-upload screens.
- 01Registration
- 02Student / tutor profile
- 03Tutor discovery
- 04Session workflow
- 05Ratings / feedback
Technical implementation
- React Native 0.74 and Expo 51 provide the mobile application structure; React Navigation links the student and tutor flows.
- Firebase Authentication, Firestore and Storage appear in the source. Portfolio cleanup replaces deployed configuration with empty environment-based examples.
- The application includes profiles, tutor discovery, session screens, review/feedback, transcript upload and prototype wallet screens.
- Twenty-nine JavaScript/JSX sources parsed successfully during cleanup. This is not an end-to-end Firebase verification.
Results & evidence
- A substantial React Native/Expo application is present in source.
- Portfolio cleanup replaces deployed Firebase identifiers with environment-based setup.
Engineering challenges
Navigation, identity, persistence and role-specific screens must agree. Shared work requires both technical integration and honest attribution.
Scope & limitations
Collaborative source remains private pending team republishing permission. End-to-end operation requires a new Firebase project and reviewed rules. Wallet UI is not evidence of production payment processing.
What I learned
Mobile workflow integration and team-based application development across authentication, UI and persistence.
What I would improve now
Review Firebase rules, remove prototype contacts, test complete role flows and validate upload/payment scope. Team republishing permission is required before releasing the shared source.