Educational PHP/MySQL web shop project created in 2020.
The project combines a small company website with an online shop, user accounts, an administrator panel, product categories, brands, a shopping cart and a PayPal sandbox checkout flow.
- PHP website with Dutch-language content
- MySQL database and object-oriented model classes
- Product catalog with categories and brands
- Product details, reviews and shopping cart
- User registration and login
- Orders and checkout flow
- Administrator panel for products, services, users, roles and orders
- Bootstrap, jQuery, Font Awesome and other local frontend assets
- PHP 7/8
- MySQL
- Apache or Docker Compose
- Bootstrap and jQuery
- PayPal REST API in sandbox mode
-
Clone the repository:
git clone https://github.com/ge-lang/sint.git cd sint -
Start the containers:
docker compose up -d --build
-
Open the application:
- Website: http://localhost:8080
- phpMyAdmin: http://localhost:8081
The database is initialized from sint.sql.
Database settings are stored in:
includes/config/app.phpadmin/includes/config.php
For local development, configure the database host, port, user and password for your environment. Do not commit personal credentials or production settings.
PayPal configuration is stored in includes/config/paypal.php. The public archive contains no PayPal credentials. Add sandbox credentials only in a local, ignored configuration or environment file.
admin/ Administrator panel and uploaded media
classes/ Database models and application classes
css/ Public stylesheets
includes/ Shared layout, configuration and payment code
js/ Public JavaScript
sint.sql Database schema and safe demo data
*.php Public pages and shop workflows
This repository is preserved as an educational archive of the original project. It is not intended for production use without a security review, updated dependencies, password hashing, validation improvements and a complete payment configuration.
Never commit:
- PayPal client IDs or secrets
- Database passwords
- User passwords
- Personal phone numbers, addresses or private email addresses
Use environment variables or local ignored configuration files for secrets.