ActorAwardsVisualizer
A PHP web app for exploring Screen Actors Guild Award winners
Browse nominations, productions, actor profiles, and interactive stats. Powered by TMDB, Chart.js, and SQLite.
Live Preview: https://webproject.turcanu.live/
Source Code: View on GitHub
PHP 8.1+
MIT License
Docker
Chart.js
SQLite
Lighthouse Tested
Features
- Home Dashboard: Quick overview of total: nominations, unique actors, categories, years of data.
- Nominations Browser: Filter by year, category, actor, or production.
- Actor Profiles: Bio, SAG history, news via Google News RSS.
- Production Browser: Filter by year, category, results (win/nominated) or production title.
- Statistics charts:
- Nominations by category
- Top nominated actors with images
- Yearly nomination trends
- Top productions with posters
- Admin Panel:
- User management with role-based access control
- System health monitoring (disk, memory usage)
- Database and media backup tools
- System logs monitoring (error & access logs)
- Authentication & Security:
- User registration, login, password reset via email
- CSRF protection on all forms
- Password hashing with PHP's built-in functions
- Role-based access control (user/admin)
- Session management with secure cookies
Tech Stack
- Backend
- PHP 8.1+, SQLite (PDO), Composer
- Frontend
- HTML5, CSS3, JavaScript
- Chart.js (via CDN)
- Font Awesome (via CDN)
- APIs & Libraries
-
- TMDB API (actor/production data)
vlucas/phpdotenv
(env vars)intervention/image
(image processing)phenx/php-svg-lib
&rosell-dk/webp-convert
(SVG/WebP export)phpmailer/phpmailer
(email)
- Deployment
- Docker & docker-compose
Database Setup
The application uses SQLite with a pre-populated database containing SAG Awards data until 2020.
Database Structure
awards
- Main table with nominations/wins dataactors
- Actor profiles from TMDB APIproductions
- Movies/TV shows informationusers
- User authentication and rolesactor_statistics
- Cached statistics for performancepassword_resets
- Password reset tokens
Initial Setup
- The database file
database/app.db
is included in the repository - Contains ~5,700 SAG Award nominations from 1995-2020
- Actors and productions are populated automatically via TMDB API when accessed
- Database schema is available in
database/schema.sql
Getting Started
Prerequisites
- PHP 8.1 or higher
- Composer
- Docker (optional, for containerized setup)
Installation
- Clone the repo
git clone https://github.com/denisturcanu84/ActorAwardsVisualizer.git cd ActorAwardsVisualizer
- Install PHP dependencies
composer install
- Set up environment
Then editcp .env.example .env
.env
to add your TMDB API key and database path.
Running Locally
php -S localhost:8000 -t public
Open http://localhost:8000 in your browser.
With Docker:
docker-compose up --build
Then visit http://localhost:30112.
Quality & Testing
Performance Testing
Lighthouse reports in documentation/LightHouse Tests/
(desktop & mobile PDFs).
Screenshots
See documentation/screenshots/
for all interface images.
Validation & Security
Check | Tool | Link |
---|---|---|
CSS validation | W3C CSS | Validator |
Vulnerability scan | Pentest-Tools | Report |
License
This project is licensed under the MIT License. See LICENSE for details.
Acknowledgments
All trademarks and copyrights are property of their respective owners.