← Back to Portfolio
Final Year Project

CampusNotify

A campus event and notification platform that keeps students informed through one centralized mobile experience.

A closer look

4 screens
CampusNotify events feed
01Browse campus events
CampusNotify event details
02View event details
CampusNotify admin dashboard
03Manage campus updates
CampusNotify add event screen
04Create an event

Overview

CampusNotify was developed as an FYP-quality Android application focused on modern architecture, Firebase integration, authentication, and a clean user experience. Its goal is simple: keep students informed about what is happening on campus.

The Problem

University students often receive information about events and announcements through notice boards, social media groups, messaging applications, and informal communication. This makes it difficult to discover upcoming activities, track important announcements, and find event information quickly.

CampusNotify addresses this fragmentation by providing a centralized digital platform for campus communication.

The Solution

The application gives users a structured mobile experience for accessing campus-related information in one place. It combines Android development, Firebase services, authentication, navigation, and cloud-based data management into a scalable foundation for university communication.

Key Features

Authentication

User login, registration, forgot password, Google Sign-In, authentication state management, and persistent sessions.

Campus Events & Notifications

A centralized place for students to discover campus activities, announcements, and university information without relying on multiple external channels.

Onboarding Experience

A dedicated onboarding flow introduces new users to the application's purpose before they enter authentication and the main experience.

Structured Navigation

Predictable navigation architecture provides clear transitions between application sections and keeps user flows easy to understand.

Architecture & Technology

Clean Architecture + MVVM

The presentation layer owns Compose screens, ViewModels, UI state, user interactions, and navigation. The domain layer contains business logic, use cases, models, and application rules.

Data & Dependency Management

The data layer manages Firebase data sources, Firestore operations, authentication, repositories, and remote data management. Hilt reduces coupling and keeps dependencies easier to provide and maintain.

KotlinJetpack ComposeFirebase AuthenticationCloud FirestoreHiltMVVMNavigationLottie Animations

Authentication Flow

Splash Onboarding Login / Signup Authentication Main Application

The application maintains authentication state so returning users can avoid unnecessary authentication steps while first-time users receive the full onboarding experience.

Development Challenges

Engineering Approach

Rather than building the application as a collection of tightly coupled screens, CampusNotify was structured around reusable components and clear separation of responsibilities. This makes it easier to add features, replace data sources, modify UI components, maintain authentication logic, and expand the Firestore data model.

Future Improvements

Outcome

CampusNotify demonstrates the ability to build a complete, production-oriented Android application rather than focusing only on individual UI screens. It combines modern Android UI, Clean Architecture, MVVM, Firebase, authentication, cloud data, and dependency injection into a practical solution for improving communication between universities and students.

Role: Android Developer

Project Type: Final Year Project / Academic Campus Management Application

Focus: Kotlin • Jetpack Compose • Clean Architecture • MVVM • Firebase • Firestore • Hilt • Authentication