The application is in the late stages of development.
This is my first PET project that I decided to put on public display. I consciously decided to use only vanilla PHP capabilities during development. You will not find any third-party libraries or anything like that in the code of my project. In my opinion, before sitting down to study any library or even more so a framework, you need to thoroughly study the capabilities of the pure language itself. You need to reach such a level of knowledge that you can do everything in vanilla language that is done by any library or any framework Only after that should you move on to the next level.
- User registration;
- User's personal account;
- Admin panel;
- Editing username;
- Adding "product cards" (via the admin panel);
- Editing "product cards" (via the admin panel);
- Deleting "product cards" (via the admin panel);
- PHP 8.4.1
- Composer 2.8.3
- Node.js 20.18.0
- PostgreSQL 17
- SCSS 1.80.6
- TypeScript 5.7.2
- HTML5
- CSS3
- Make sure you have up-to-date versions of PHP, Composer, Node.js, PostgreSQL installed;
- Copy the repository:
git clone https://github.com/TimurDev-hub/atp_transservice.git; - Install PHP dependencies:
composer install; - Install Node.js dependencies:
npm install; - Create a file
app/src/core/config/env.phpwith the following contents:<?php namespace Core\Config; class env { public static $dbHost = 'YOUR_LOCALHOST'; public static $dbName = 'YOUR_DB_NAME'; public static $dbUser = 'YOUR_DB_USERNAME'; public static $dbPassword = 'YOUR_DB_PASSWORD'; }
- Create new PostgreSQL database;
- Create table users:
CREATE TABLE users ( user_id SERIAL PRIMARY KEY, user_name VARCHAR(255) NOT NULL UNIQUE, user_email VARCHAR(255) NOT NULL UNIQUE, user_password VARCHAR(255) NOT NULL );
- Create table cards:
CREATE TABLE cards ( id SERIAL PRIMARY KEY, c_route VARCHAR(255) NOT NULL UNIQUE, c_num VARCHAR(255) NOT NULL UNIQUE, c_time VARCHAR(255) NOT NULL, c_price VARCHAR(255) NOT NULL );
- Configure your web server appropriately to run the application.
- To add an admin panel, go to the registration page, in the input fields specify:
- username:
admin - email:
admin@gmail.com - Random password
- username: