Integ Final Project
Integ Final Project
Objective:
By the end of this project, students will be able to:
1. Integrate a third-party API to fetch and display movie data dynamically.
2. Implement search tracking and rating features with database support.
3. Perform cURL-based operations (fetching, storing, displaying data).
4. Create a responsive and interactive web interface using HTML and CSS.
5. Store and retrieve search history and user-generated content via PHP and MySQL.
Instructions:
1. General Overview:
Develop a web application that allows users to search for movies using an API (TMDb
API).
The application will:
o Fetch and display movie information.
o View details like poster, title, release date, genre, and overview.
o Track and store search queries in a database.
o Display the Top 5 Most Searched Movies based on frequency.
2. Frontend Requirements:
Use HTML, CSS, JavaScript, and jQuery.
Integrate cURL and PDO mysql to fetch and update data asynchronously.
Display search results dynamically on the page.
3. Functional Requirements:
Search and Display:
User enters a movie title.
Application sends an API request using cURL to TMDb API.
Display movie info: title, release date, poster, overview, rating, and genres.
Track Searches:
Save each searched movie in the database (movies table).
Increment search_count every time the same movie is searched again or if you
have better way to do it, it’s your call.
Genre Info:
To get genre names, you may need to fetch from:
https://api.themoviedb.org/3/genre/movie/list?api_key=YOUR_API_KEY
5. Submission Requirements:
Softcopy:
o Codebase in .zip file
o Documentation (PDF/Word)
o Submit via email: jelson@jelsonlanto.com
Hardcopy:
o Printed documentation with screenshots and code samples
Documentation Format
Title Page
Project Title: Movie Explorer: API-Based Web App with Ratings and Search Tracking
Course and Section: (Insert course name and section)
Group Name and Members:
o Name 1 (Role)
o Name 2 (Role)
o Name 3 (Role)
Submission Date: (Insert date)
Table of Contents
1. Project Overview
2. Features
1. Project Overview
Purpose: To build a functional and interactive web application using AJAX and an
external movie API.
Summary of Features:
o Dynamic search via API
o Database integration for storing searches and ratings
o User rating system
o Top 5 search leaderboard
2. Features
Real-time search from movie API
Stores searched movies and counts frequency
Allows 1–5 star rating of movies
Shows Top 5 Most Searched movies
User feedback and loading indicators
Visual transitions for updates
3. Tools and Technologies Used
Languages: HTML, CSS, JavaScript, PHP
Libraries: jQuery, Bootstrap (optional)
API: OMDb API
Database: MySQL
Editor: VS Code / Sublime Text
Optional Tools: Figma/Adobe XD for UI design
4. System Design and Implementation
4.1 API Integration
GET:
o Retrieves movie details for display
4.2 Database Schema
movies: movie_id, title, search_count, poster_url
ratings: rating_id, movie_id, rating_value, created_at
4.3 Frontend & cURL Logic
Use cURL and PDO database to:
o Fetch movie info from API
o Insert/update movie in database
o Submit rating and fetch average
o Retrieve and display Top 5 list
4.4 CRUD Operations (Code Examples)
GET movie from API using AJAX
POST search info to movies table
POST rating to ratings table
GET Top 5 movies based on search_count
5. User Interface
Include screenshots with labels:
o Search bar and movie display
o Rating system
o Top 5 Most Searched section
6. Challenges and Solutions
AJAX AJAX calls are AJAX calls are Basic AJAX Little to no AJAX
Integration implemented mostly correct; integration: some integration;
efficiently; minor issues with operations rely on synchronous
seamless handling or display page reloads; error operations
asynchronous of asynchronous handling missing or dominate.
operations; operations. minimal.
proper error
handling.
Code Quality Code is clean, Code is readable Code lacks proper Code is poorly
and well-documented, and moderately structure or written,
Organization and follows best organized; minor comments; evident unstructured, and
practices; documentation areas of lacks comments
excellent use of issues. redundancy or poor or readability.
modularity. practices.
PREPARED BY:
JELSON V. LANTO