Univus | A Cross-University Social Platform

Univus is a mobile app for university students and staff that simplifies attendance tracking and social interaction. Built with React Native, Expo, and Firebase, it supports both iOS and Android. Key features include QR code-based attendance and social timelines, while staff can manage student enrollment and courses. Univus supports multiple universities by using Python for data aggregation and Firebase for real-time updates, authentication, and storage. A Next.js web app displays attendance codes in class, and the app is optimized for scalability using Redux and Firebase, ensuring efficient performance across institutions.

University Module

University Module

Mobile App Development

Final Awarded Grade

Final Awarded Grade

A+

Development Time

4 Weeks

Landing Page

Landing Page

Challenge

The development of Univus encountered several significant challenges due to its ambitious nature and cross-university functionality. One of the foremost challenges was designing an architecture that could efficiently handle multiple universities while maintaining data integrity and security. This involved complex data aggregation using Python to manage and segregate user accounts for diverse institutions. Another challenge was implementing a robust authentication system that accommodates various forms of university-provided email addresses while ensuring only legitimate institutions could register. Additionally, ensuring that the user interface (UI) catered to diverse student and faculty needs across different universities called for an in-depth UI/UX design process inspired by popular platforms like Twitter, Threads, and NILE (Northampton University's Student System)

Results

The implementation of Univus resulted in a functional and versatile mobile app that effectively facilitates students’ academic and social interactions. Core features such as attendance marking, social media posting, and multi-role management were successfully integrated, with significant attention to detail and usability. The app's architecture supports real-time updates, optimised data retrieval, and a responsive design across platforms. Mandatory features like student enrollment, attendance management, and profile updates were implemented with high precision, meeting the initial project requirements. Extra features, such as cross-university timelines, enhanced the app's appeal and usability beyond its core functionality. The app’s readiness for deployment was supported by thorough testing, ensuring a smooth user experience in real-world scenarios.

Technologies

Technologies

Process

Understanding Requirements: The initial phase involved comprehensively understanding the specific needs of the University of GraceTech (a fake uni for the assignment) and outlining how these requirements could be generalised for use by multiple universities. This included incorporating features like attendance tracking and social media interaction.

  1. Data Aggregation: Python scripts were used to aggregate and process large datasets of university and course information. This data was essential for ensuring the app could cater to numerous institutions, utilizing unique identifiers like UKPRN and KISCODE.

  2. Technical Architecture: React Native was selected for its cross-platform capabilities, allowing development for both Android and iOS from a single codebase. Expo and Firebase were integrated for efficient deployment and real-time data management, respectively.

  3. User Authentication System: A custom user signup flow was implemented using Firebase Auth, Real-time Database, and Firestore to handle diverse authentication requirements across different universities. This system was crucial for maintaining security and managing user credentials adequately.

  4. Database Design: To optimize performance and cost in Firestore, data was structured using denormalization and hybrid integration with Realtime Database, reducing read/write operations while allowing universities to enroll students efficiently.

  5. UI/UX Design: Leveraging inspiration from popular apps like Twitter, Threads, and NILE, Figma was used to develop intuitive wireframes and ensure the app was user-friendly and aesthetically appealing.

  6. Feature Implementation: All mandatory features were implemented, such as student enrollment and attendance management. Extra functionalities like cross-university timelines and dark/light mode were developed to elevate the user experience.

  7. Testing and Optimization: Rigorous testing was conducted using Expo and Firebase Emulators across iOS and Android platforms. This was crucial for identifying and fixing platform-specific bugs and ensuring the app functioned smoothly in various environments.

  8. Continuous Iteration: Throughout development, the process involved continuous iteration and improvements based on testing feedback, ensuring a scalable and robust solution that meets the diverse needs of its users.

  9. Deployment Readiness: The final phase focused on preparing the app for real-world deployment, ensuring seamless transition from development to production using Firebase’s live environment for backend services.

Conclusion

The development of Univus was a complex yet rewarding endeavor that underscored the potential of integrating modern app development frameworks with innovative educational solutions. By addressing the unique needs of the University of GraceTech (a fake uni for the assignment given) while ensuring scalability across other institutions, Univus stands as a testament to the power of adaptive, user-focused design. The project highlighted the importance of robust technical architecture, comprehensive testing, and iterative design processes in achieving a high-quality product. The journey of creating Univus has been marked by innovation and dedication, resulting in a platform that not only meets current institutional needs but is a great first-project for using React Native & Expo for App Development.

Technologies