Files
interview-demo-code/README.md
Nikita Kiselev 3abcb18f0c
Some checks failed
Telegram Mini App Shop Builder / Compute version metadata (push) Has been cancelled
Telegram Mini App Shop Builder / Run Frontend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run Backend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Has been cancelled
Telegram Mini App Shop Builder / Build module. (push) Has been cancelled
Telegram Mini App Shop Builder / release (push) Has been cancelled
Squashed commit message
2026-03-11 22:55:28 +03:00

40 lines
1.6 KiB
Markdown

# Demo code for interviewing
This repository contains a simplified version of one of my personal commercial pet project prepared for technical interviews.
Because of that:
1. All sensitive data has been renamed and/or deleted. In some places this may break autoloading or other integrations, but the code structure remains intact and suitable for review.
2. The Git history has been squashed into a single commit for the same reason.
3. The maximum supported PHP version is 7.4. This requirement comes from the external CMS that this project integrates with. Therefore, some modern PHP 8+ features are not used here, although I have experience working with the latest PHP versions.
## What the application does
The application integrates with an e-commerce CMS and provides a Telegram Mini App that exposes the product catalog to the end users.
The application uses the external e-commerce database (MySQL) and adds some tables (see `backend/src/database/migrations`).
# Directory structure
The project has monorepo includes frontend (vuejs) and backend (php).
## Backend structure main points:
```
backend - native php code with my framework.
└── src
├── app - the main application code
├── bastion - the admin panel application code
├── cli.php - cli entrypoint
├── composer.json
├── composer.lock
├── configs
├── console - CLI application
├── database
├── framework - self-written php framework
├── phpstan.neon
├── phpunit.xml
├── stubs
└── tests
```