The Facebook Simulation project involves the creation of a social networking platform that facilitates user connection, content sharing, and communication. This platform aims to replicate key functionalities found on Facebook, offering users the ability to create profiles, connect with friends, and share various forms of content.
- Kotlin - As a programming language.
- Coroutines - For multithreading while handling requests to the server and local database.
- Room DB - To manage SQLite database easily and avoid a lot boilerplate code.
- LiveData - notifies views of any database changes in an observer way.
- Glide - It is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
- Firebase - Used for features such as analytics, realtime database, user authentication.
- [EventBus] - The library helps communicate between application components through events.
- [Shimmer] - Library to create shimmering effects for UI elements.
- [Service] - Use Android Services to perform background work, such as syncing data from a server, processing notifications, or performing long-running tasks that should not be performed directly on the user interface.
- Clean Architecture - Applying Clean Architecture and Solid Principles to build a robust, maintainable, and testable application.