Portfolio repository with several university web development projects. The main sequence covers a PHP database application, a REST API extension, and a real-time WebSocket game.
| Project | Stack | Focus |
|---|---|---|
| PHP Database Site | PHP, MariaDB, Composer | Database-backed site with authentication, Google OAuth, 2FA, imports, and admin pages |
| REST API Extension | PHP, MariaDB, JWT, REST | API layer for CRUD operations, JSON import, API docs, and protected admin workflows |
| WebSocket Game | JavaScript, Node.js, WebSocket, Matter.js | Two-player browser game with matchmaking, turns, pause/restart flow, chat, and physics |
| Portfolio Site | HTML, CSS, JavaScript | Static multipage website exercise |
| Simple Form Site | HTML, CSS, JavaScript | Form validation and submission wiring exercise |
| Gantt Demo | Vue, JavaScript, CSS | Local interactive Gantt-style planning tool |
The strongest part of this repository is the three-step WebTech progression:
- Build a database-backed PHP site for Olympic athlete data.
- Add an authenticated REST API and protected admin workflows.
- Build a real-time browser game with a WebSocket server.
Together, these projects show full-stack fundamentals: routing, SQL schema design, PDO, authentication, 2FA, OAuth integration, JWT authorization, API controllers, front-end validation, WebSocket messaging, and deployment-oriented configuration.
-
Install Composer dependencies inside the selected project folder:
composer install
-
Copy the example config and fill in local credentials:
cp config/config.example.php config/config.php
-
Import the schema from
sql/into a local MariaDB/MySQL database. -
Serve the
public/directory through PHP or a web server such as Nginx or Apache.
The repository includes only example configuration files. Real database credentials, OAuth secrets, JWT secrets, generated archives, and installed dependencies are intentionally excluded.
cd websocket_game/websockets
npm install
npm startThen open websocket_game/index.html in two browser windows and join with two
nicknames.
This repository is useful as a compact full-stack portfolio collection. It shows server-side PHP, relational data modeling, authentication, REST API design, client-side interactivity, and real-time browser communication in one place.