Skip to content
Back to projects
2021Case Study

TeachMe — Tutoring & Learning App

A cross-platform tutoring application connecting students with teachers, courses, level exams, and scheduled lessons.

FlutterDartFirebaseFirebase Auth
TeachMe — Tutoring & Learning App
Overview

What was built

TeachMe is a cross-platform tutoring and learning application created as my final Practical Software Engineering diploma project. It combines teacher discovery, courses, level exams, lesson management, and user authentication in one mobile application.

The Problem

What it solved

Students often need separate tools to find teachers, discover learning material, test their current level, and manage lessons. TeachMe was designed to bring those learning workflows into one mobile experience.

My Role

What I built

Designed and developed the mobile application using Flutter and Dart, integrated Firebase services, implemented authentication flows, and built the main student learning experiences including teacher search, exams, courses, and lessons.

Engineering

How it was built

Frontend

Flutter-based cross-platform interface supporting the main learning workflows across mobile devices.

Backend

Firebase services were used to support application data and backend functionality.

Authentication

Authentication experience included account sign-in and Google sign-in functionality.

State Management

Application state coordinates authentication, course discovery, exam browsing, teacher discovery, and lesson workflows.

Deployment

Built as a cross-platform mobile application as the final Practical Software Engineering diploma project.

Architecture

System structure

1
Flutter Mobile AppCross-platform user interface built with Dart
2
AuthenticationUser sign-in and account access
3
Learning FeaturesTeachers, exams, courses, and lessons
4
FirebaseApplication backend services and data integration
Engineering Challenges

What was hard

Multiple learning workflows

Designed the application to combine teacher discovery, courses, exams, and lesson management while keeping navigation understandable for students.

Cross-platform application development

Built the application with Flutter to maintain a shared mobile codebase and consistent application behavior across supported platforms.

Authentication integration

Connected user authentication with the learning experience so authenticated users could access personalized application functionality.

Decisions & Tradeoffs

Why these choices

Flutter for the mobile client

Flutter enabled the application to be developed from a shared Dart codebase while maintaining a mobile-focused interface.

Firebase for application services

Firebase provided integrated backend services suitable for authentication and application data requirements.

Results

Impact

  • Completed as the final project for the Practical Software Engineering diploma.
  • Delivered a working mobile application combining teacher search, level exams, courses, lessons, and authentication.
Gallery

Screenshots

TeachMe main application screen
Main learning dashboard
TeachMe level exams screen
Level exam discovery
TeachMe courses screen
Course discovery by category
TeachMe lessons screen
Scheduled lesson management
TeachMe authentication screen
User authentication
Technology

The stack

FlutterDartFirebaseFirebase Auth