01
Overview
This academic full-stack project implemented a movie-rental experience across a Java and JSP website and a native Android application. Both clients use server endpoints and a shared MySQL database for accounts, permissions, movie information, queues, and viewing history.
02
Problem & goal
Create a consistent browsing and account experience across web and mobile while practicing authentication, role-based authorization, relational data modeling, server communication, and shared application state.
03
Solution
Java servlets and data-access classes expose authentication, search, queue, history, and account workflows backed by MySQL. The Android client communicates with those endpoints over HTTP, parses JSON responses, stores local session preferences, and presents mobile views for browsing, searching, managing a queue, and reviewing watched movies.
04
Key features
- Account authentication and session management
- Role-based access for public, user, and administrator pages
- Movie catalog with details, artwork, and metadata
- Search by movie title and genre
- Personal movie queue with add, return, watched, and clear actions
- Viewing-history workflow
- Native Android client with shared web data
- Relational MySQL schema for users, roles, movies, pages, and queues
05
Enrique's contribution
- Web and Android interface implementation
- Java, JSP, servlet, and data-access workflows
- Android HTTP and JSON integration
- Relational database schema and MySQL integration
- Search, queue, history, and account functionality
- System diagrams, documentation, and testing
06
Technical considerations
- Keeping queue and history data consistent across the website, Android client, servlets, and database
- Managing authenticated sessions and role-based page permissions
- Performing network requests outside the Android interface thread and handling JSON responses
- Preserving relational integrity among users, roles, pages, movies, and queue records
07
What was learned
The project strengthened Enrique's understanding of full-stack Java architecture, Android-to-server communication, relational database design, role-based access, and the coordination required to keep web and mobile workflows aligned.
