A mobile application to track movies you have watched and manage your favorite movies.
- View a list of movies
- Add or remove movies from favorites
- View movie details
- Manage user profile
This project follows the MVVM (Model-View-ViewModel) architecture pattern, which helps in separating the concerns of the application and makes the code more maintainable and testable.
- Represents the data layer of the application.
- Responsible for handling the business logic and communication with the data sources (e.g., local database, network).
- Represents the UI layer of the application.
- Displays the data and interacts with the user.
- Composed of Jetpack Compose functions.
- Acts as a bridge between the Model and the View.
- Holds the UI-related data and exposes it to the View.
- Handles the user interactions and updates the Model accordingly.
- The project uses Dagger Hilt for dependency injection, which helps in managing the dependencies and provides a clean way to inject them.
- The project uses Jetpack Navigation Component for handling navigation between different screens.
- The navigation graph is defined to manage the navigation flow.
-
Clone the repository:
git clone https://github.com/yourusername/iwatchedthis.git cd iwatchedthis -
Open the project in Android Studio.
-
Build the project:
- Click on
Build>Make Projector pressCtrl+F9.
- Click on
-
Run the project:
- Click on
Run>Run 'app'or pressShift+F10.
- Click on
- The home screen displays a list of movies and searchbar.
- Use the bottom navigation bar to switch between different sections.
- You can see your comments for movies.
- You can delete comments on the screen.
- Click on a movie to view its details.
- Add or remove the movie from your favorites.
- Manage your user profile.
- View and edit your favorite and watched movies.
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes.
- Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.