This project was developed as part of the Senior Design courses (CMPE-195A/B) for the B.S. in Software Engineering program at San Jose State University. The project spanned two semesters:
- CMPE-195A (Fall 2020): Focused on project planning, research, and prototyping.
- CMPE-195B (Spring 2021): Emphasized implementation, testing, and delivery.
MovInfo is an Android application designed to simplify movie discovery. Built with Kotlin, powered by TMDb API and MongoDB, it provides a seamless experience for searching movies, watching trailers, and receiving personalized recommendations—all through a clean and user-friendly interface.
Check out this demo showcasing MovInfo's features:
- Search Movies: Access a global database with diverse genres and languages.
- Watch Trailers: Preview movies with integrated trailers.
- Personalized Recommendations: Get tailored suggestions based on your watch history.
- Movie Info: View detailed summaries, cast details, and ratings.
- Explore Globally: Discover movies from different regions and languages.
MovInfo employs a Model-View-ViewModel (MVVM) architecture to ensure scalability, maintainability, and modularity. This design separates business logic, UI, and data handling, making the app testable and robust.
- Model: Handles business logic and fetches movie data from TMDb API and MongoDB.
- View: Renders the user interface and observes changes from the ViewModel.
- ViewModel: Mediates between the Model and View, exposing observable data streams to the View.
- Single Activity
- Model-View-ViewModel (MVVM)
- Single Source of Truth (SSOT)
- Repository Pattern (Local Cache & Remote Data Source)
- Frontend: Kotlin, Android Studio
- Backend: TMDb API, MongoDB
- Dagger2 - Dependency injection
- Retrofit - API communication
- Glide - Image loading
- Lottie - Animation framework
- Marvel App - Wireframing and prototyping
- Taiga - Agile project management
- Android Studio 4.2+
- Android SDK 29+
- Gradle 6.x+
- Git 3.x+
- Clone the repository:
git clone https://github.com/rohanbpatel14/MovInfo.git
- Configure your credentials for TMDb API and MongoDB.
- Open the project in Android Studio, build it, and run it on an Android emulator or device.
Our team followed Agile methodologies, using Taiga to track progress and manage sprints. Development involved the following iterative stages:
- Requirements gathering and research
- UI prototyping and architecture design
- Implementation of front-end and back-end components
- Testing, debugging, and documentation
We extend our gratitude to:
- Dr. Jahan Ghofraniha: For his invaluable guidance.
- Professor Wencen Wu: For her support throughout the course.
- Friends and Family: For participating in our research surveys.
- The Movie Database (TMDb) API: For providing comprehensive movie data.

