Skip to content

Pixelis is a PHP-based advertising platform inspired by "The Million Dollar Homepage," allowing users to buy and link pixels on a shared 1,000x1,000 canvas. This project showcases skills in secure web authentication, CI/CD with testing, Dockerized development environments, and API design.

License

Notifications You must be signed in to change notification settings

Evalutik/pixelis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pixelis

CI Security Scan Codecov License

Small PHP app for buying single pixels on a shared 1000×1000 canvas. Each pixel can be reserved, purchased and associated with a link and a short message.

Table of contents

Quick links

Prerequisites

  • PHP 8 (recommended) or PHP 7.4+
  • MySQL
  • Docker & Docker Compose (recommended for local development)

Quickstart (Docker)

  1. Clone the repository and enter it:
git clone <repo-url>
cd <repo>
  1. Start services:
docker-compose up -d --build
  1. Initialize the database (creates schema and optional seed user):
docker-compose exec php php src/setup_db.php --seed=dev:dev
  1. Open http://localhost:8080 in your browser.

Local (OSPanel / native PHP)

  • Place the repo under your webroot (for example d:\OSPanel\domains\localhost).
  • Create a database main and update DB credentials via environment variables or a local .env file.
  • Run the DB setup script:
php src/setup_db.php
# optional: php src/setup_db.php --seed=testuser:testpass

Running tests

  • Install PHP dependencies:
composer install
  • Run unit tests locally:
vendor/bin/phpunit
  • Integration tests exercise the HTTP endpoints and are intended to run in Docker (CI runs them automatically).

Security notes

  • Do not commit .env or credentials. Use .env.example as a template.
  • Most DB queries use prepared statements; review any remaining interpolation and convert to prepared queries.
  • Sanitize output with htmlspecialchars() (or use a templating engine) to prevent XSS.

Developer tips

  • Use make test to run the full suite (if your environment has the required tools).
  • Use docker-compose exec php bash to run commands inside the PHP container for debugging.

License

MIT — see LICENSE

About

Pixelis is a PHP-based advertising platform inspired by "The Million Dollar Homepage," allowing users to buy and link pixels on a shared 1,000x1,000 canvas. This project showcases skills in secure web authentication, CI/CD with testing, Dockerized development environments, and API design.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •