Files
movie-search-webui/README.txt
T
2026-04-08 15:56:34 +01:00

122 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Local Movie Database
A clean, fast, and fully offline web application to browse and search your personal movie database (built from TMDB data).
The app displays movies in a beautiful card-based interface with posters, ratings, release years, full language names, and descriptions. Everything runs locally on your machine.
---
## Features
* Beautiful movie cards with TMDB posters
* Search by title or keyword
* Filter by:
* Genre (multi-select)
* Language (shows full names like "English", "Japanese", "Greek", etc.)
* Minimum rating
* Minimum vote count
* Year range
* "Load More" button — loads 100 movies at a time
* No artificial result limit — you can keep loading until all matching results are shown
* Fully responsive 4-column layout
* Completely local (no data sent online)
---
## Requirements
* Python 3.10 or higher
* `streamlit`
* `pandas`
* A prepared SQLite database file named `movies.db` (≈1.4 million movies)
---
## Installation
### 1. Clone the repository
```
git clone <your-repo-url>
cd movie-project
```
### 2. Install dependencies
```
pip install streamlit pandas
```
Or using the requirements file:
```
pip install -r requirements.txt
```
### 3. Add your database
Place your `movies.db` file in the root folder (same directory as `movie_app.py`).
**Important:** The database must contain a table named `movies` with at least these columns:
* `title`
* `release_date`
* `vote_average`
* `vote_count`
* `overview`
* `original_language`
* `poster_path`
* `genres`
* `popularity`
### 4. Run the app
```
streamlit run movie_app.py
```
The application will automatically open in your default web browser.
---
## Project Structure
```
movie-project/
├── movie_app.py
├── movies.db
├── README.md
├── requirements.txt
└── .gitignore
```
---
## requirements.txt
```
streamlit
pandas
```
---
## Notes
* The first search may take a few seconds while the genre list is built.
* Movie posters are loaded from TMDBs public image server: [https://image.tmdb.org](https://image.tmdb.org)
* You can keep clicking "Load More" until all matching results are displayed.
* Best performance when the database has been cleaned (adult content removed).
---
## Tech Stack
* UI Framework: Streamlit
* Database: SQLite
* Data Processing: pandas
* Data Source: TMDB movie dataset