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.