CampusNotify
A campus event and notification platform that keeps students informed through one centralized mobile experience.
A closer look
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.
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
- Coordinating Compose UI, ViewModels, navigation, Hilt, Firebase Authentication, and Firestore.
- Ensuring authentication and navigation behave correctly for first-time, authenticated, and returning users.
- Maintaining clean boundaries while integrating multiple application layers.
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
- Real-time push notifications and improved Firestore synchronization
- Event registration, digital tickets, and event bookmarking
- Advanced event search, filtering, and campus location integration
- Role-based administration, analytics, and department-specific announcements
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



