Welcome to the official GitHub Organisation for the PROG7314 POE group! This is the digital home for our collaborative mobile application development journey, as part of the Programming 3D (PROG7314) module.
Here, we showcase our group’s dedication to crafting innovative, feature-rich Android apps, using modern open source tools and industry-standard practices. Our team consists of passionate developers:
- ST1031554 – Sashveer Lakhan Ramjathan
- ST10249838 – Blaise Mikka de Gier
- ST10247982 – Shravan Ramjathan
Our development process follows a rigorous Research–Plan–Design–Build–Evaluate cycle, as outlined in the POE (Portfolio of Evidence). This ensures that every app we create is well-researched, thoughtfully designed, robustly implemented, and thoroughly tested.
The current POE project requires us to deliver a mobile app of our choice that demonstrates mastery of:
- RESTful API creation and integration
- Secure authentication (Single Sign-On and Biometric Authentication)
- Real-time notifications and multi-language support
- Offline mode with sync capabilities (RoomDB/SQLite)
- Cloud storage and NoSQL database integration
- Automated testing and continuous integration with GitHub Actions
- Professional documentation and release management
The app is designed to be easily publishable on the Google Play Store, with user-friendly interfaces and comprehensive feature sets.
- Innovation: Develop apps with unique, user-focused features that stand out in the marketplace.
- Quality: Ensure reliability, security, and usability through best practices, testing, and peer review.
- Collaboration: Work as a cohesive team, leveraging individual strengths and supporting each other’s growth.
- Transparency: Maintain open, well-documented codebases, with frequent commits and clear release notes.
Our app will demonstrate at a minimum:
- Single Sign-On Registration/Login: Seamless, secure authentication for users.
- Biometric Authentication: Fingerprint or facial recognition for an extra layer of security.
- Settings Management: Users can customize their experience.
- RESTful API Connectivity: Real-time communication with cloud-hosted databases.
- Offline Mode & Sync: Use the app anywhere, sync when reconnected.
- Push Notifications: Stay updated with real-time alerts.
- Multi-language Support: Including at least two South African languages.
- Additional Innovative Features: Each app includes unique, research-driven enhancements.
- Kotlin – Modern, expressive language for Android
- Android Studio – Primary development environment
- Firebase Authentication & Firestore – Secure user management & scalable NoSQL database
- RoomDB / SQLite – Local data persistence for offline capabilities
- Supabase Storage / Firebase Storage – Cloud storage for user files and assets
- GitHub Actions – Automated CI/CD pipelines and testing
- Other Open Source Libraries – As required per project needs
Our POE is divided into three key phases, each documented and available across repositories:
- Part 1: Research, Planning, and Design
- Comparative analysis of existing Android apps
- Requirements gathering and UI/UX design
- API specification and project management (Gantt chart)
- Part 2: App Prototype Development
- Building a working Android prototype with essential features
- REST API connection, automated testing, and demonstration video
- Final POE: Asset Development, Enhancement, and Submission
- Finalising features, implementing advanced requirements (biometrics, notifications, multi-language)
- Preparing for Play Store publication
- Release notes and comprehensive documentation
- Version Control: All code is managed via GitHub. Regular commits capture our progress and ensure traceability.
- Automated Testing: GitHub Actions run unit and integration tests for every push.
- Documentation: Each repo includes a detailed README, release notes, and links to demo videos.
- Peer Review: Pull requests are reviewed and discussed before merging.
- Professional demonstration videos accompany each submission, with voice-overs explaining key features and decisions.
- Readme files detail technology choices, design considerations, and instructions for use.
- Release notes highlight new features, bug fixes, and improvements.
We value collaboration and feedback. If you have suggestions or want to contribute, please open an issue or submit a pull request. Our organisation is committed to open source values and peer learning.
- GitHub Organisation Page
- Contact group lead: Sashveer Lakhan Ramjathan (ST1031554)
“Code is not just lines in a file—it’s a journey of learning, teamwork, and creating solutions that make a difference.”