Project information
- Category: Full Stack Mobile Development
- Client Freelance
- Project date: 12 May, 2023
- Project URL: Trivia App
Trivia Final Project: A Symphony of Knowledge and Strategy
Overview
The Trivia Final Project is a meticulously crafted iOS application that elevates the classic trivia game to a new echelon of user engagement and intellectual challenge. Written in Swift and architected around the MVVM design pattern, the app offers a seamless and intuitive user experience.
I worked on this project with two other collaborators
- Hamzah https://github.com/Hamzah915
- Payam Karbassi https://github.com/AyaBassi
Core Features
- Dynamic Gameplay: The app incorporates a variety of questions, keeping the player engaged and intellectually stimulated.
- Leaderboard: A competitive leaderboard to track and showcase high scores, fostering a sense of achievement and rivalry.
- Instructions: A dedicated 'How to Play' section, ensuring that users can easily grasp the game mechanics.
- End Game Summary: A comprehensive end-game screen that provides insightful analytics on the player's performance.
Technical Highlights
- Coordinator Pattern: The app employs the Coordinator pattern for navigation, ensuring a decoupled and maintainable codebase.
- Network Layer: A robust network layer built around
NetworkableProtocol
andAPIEndPoint
, facilitating seamless API interactions. - Unit Testing: The repository includes unit tests for the game's view model, ensuring reliability and robustness.
Code Structure
- Game Module: Houses the game logic, views (
GameScreen
,GameAnswer
,EndGame
), and models (AnswerModel
,GameDataModel
). - Home Module: The landing screen (
HomeScreen
) and main screen (MainScreen
) that serve as the entry points to the game. - Instructions Module: Features a view controller (
HowToPlayViewController
) that guides the user on how to navigate and play the game. - Leaderboard Module: Contains the
LeaderboardScreen
that displays the top scores. - Network Module: Manages API calls through
NetworkManager
and defines API endpoints inAPIEndPoint
.
Conclusion
The Trivia Final Project is not just a game; it's an experience that combines the thrill of competition with the joy of learning. It stands as a testament to clean code practices, thoughtful design, and user-centric development and collaborating with other developers to create intuitive applications.