CSCB025 - Практика по програмиране и реализация на бази данни
Онлайн магазин - Самостоятелна работа по програмиране и реализация на бази от данни.
Избор | Тип | Причина за избор |
---|---|---|
PHP | Език за програмиране | Лесен за писане, гъвкав и динамичен език с изключително бърза последна версия. Към текущият момент ~80% от сървърните уеб приложения ползват PHP. Отвореният код, множеството библиотеки и голямото общество спомага за лесно решаване дори на най-сложните проблеми. |
Plates | PHP система за дизайн | Лесна за употреба и изключителна бърза система, с отлично преизползване на изгледи и наследяване и споделяне на данни между страници и темплейти. |
PHPAuth | PHP библиотека за автентикация | Изключително сигурна библиотека с автоматична защита и email поддръжка. |
MySQL | СУБД | Лесен за употреба, изключително продуктивна и сигурна база от данни с малък размер и отворен код. |
Obaju | Уеб темплейт | Темата отговаря отлично на заданието за изработка на уеб магазин за дрехи с отличен UX и мобилна версия. |
ElaAdmin | Админ темплейт | Административния облик е изключително подходящ за нуждите на онлайн магазин. |
Apache HTTP Server | Уеб сървър | Лесен за конфигурация и изключително сигурен и надежден уеб сървър. |
AWS | Хостинг | Лесен за контрол и конфигурация - целия сървър и първоначално стартиране и настройка са конфигурирани в AWS CloudFormation темплата към cscb025_cloudformation_template.yml |
- Работа в екип - Разработен самостоятелно поради местоположението и възможността ми.
- Работа със система за споделена работа върху код - Използвано е GitHub за съхраняване и споделяне на кода - https://github.com/miglen/CSCB025
- Писане на документация - Документацията е качена в хранилището, както и вградена в кода под формата на коментари.
- Представяне на собствена разработка - Като изключим помощтните библиотеки, проектирането на ДБ, логиката на магазина и конфигурацията на всички компоненти са изцяло моя разработка + запълване с примерни продукти
- Познания по програмиране на поне един програмен език - В случая това е PHP.
- Познаване на поне едно СУБД - mySQL
- Познания по проектиране на бази данни и SQL - Приложени в изграждането, както и в имплементирането на заявките на приложението.
- Създаване на умения за работа във фирмена среда
- Разработеният продукт трябва да е резултат от самостоятелно проучване и разработване - Би могло да се проследи и провери работата по проекта в моята github история към хранилището: https://github.com/miglen/CSCB025/commits/master
- Прилагане на изучаваното в университетските курсове - приложения са умения от следните курсове: CSCB688 Скриптови езици за Интернет (PHP), CSCB405 Бази данни и системи за управление на бази данни, CSCB536 Моделиране и реализация на релационни бази данни, CSCB205 Структури от данни, CSCB206 Алгоритми и програмиране, GENB006 Увод в алгоритмите и програмирането, CSCB024 Практика по програмиране и интернет технологии, CSCB411 Операционни системи (Linux), CSCB702 Електронна търговия, CSCB734 Информационни системи "клиент - сървър" и CSCB756 Дизайн и публикуване в Интернет
- Продукти (products)
- product_id - Уникален идентификатор
- title - Заглавие
- text - Описание
- category_id - Категория (category_id)
- price - Цена
- quantity - Количество
- Категории (categories)
- category_id - Уникален идентификатор
- title - Заглавие
- parent - Категория родител
- Страници (pages)
- page_id - Уникален идентификатор
- title - Заглавие
- text - Текст
- Потребители (users)
- user_id - Уникален идентификатор
- username - Потребителско име
- password - Парола (SHA512 хеширана)
- is_admin - Администратор?
- Поръчки (orders)
- id - Уникален идентификатор
- user_id - Потребител
- products - Списък от закупени продукти
- README.md - Прочети ме (този файл)
- cscb025_cloudformation_template.yml - CloudFormation темплейт за инсталация на магазина.
- ./files/
- ./php - PHP файлове с основна функционалност
- ./css - Статични CSS файлове
- ./js - Java Script статични файлове
- git, mysql, php, php composer
- cd /var/www/html
- git clone https://github.com/miglen/CSCB025.git
- composer install
- Да инсталирам pma за дб-то
- Да вкарам категории и да настроя навигацията
- Да вкарам страници и да ги напълня с WYSIWYG редактор (онлайн).
- Да направя търсенето да работи в страници и продукти.
- Да вкарам продукти и да ги визуализирам
- Да инсталирам и конфигурирам клас за управление на потребителите - вход/изход,регистрация. Ако нивото е администратор - линк към администрация.
- Търсенето да работи за страници и продукти.
- Свързване на всички линкове във футъра
- Да оптимизирам директориите да показват и продукти в под-директориите.
- Оптимизиране на изгледа на регистрацията, да не работи ако потребителя е влязъл.
- Страница за профил с опция за редакция, да не работи ако потребителя не е влязъл.
- ЧЗВ и примерни въпроси/отговори.
- Повечето страници да използват единен темплейт (page.php)
- Кошница - първоначална страница
- Кошница - поръчките да се запазват в дб, страница с поръчки
- База с контакти, в която да се пазят записите от формата за контакт + абонамент.
- Страница с кошница, продуктите да се добавят в нея.
- Администрация - първоначален изглед и логин
- Администрация CRUD категории
- Администрация CRUD страници
- Администрация CRUD продукти
- Администрация CRUD поръчки
- Оптимизиране на темплейтите и файловете
- Оптимизиране на заявките, индексиране
- Запълване на страниците със съдържание
- Добавяне на допълнителни продукти +10.
- Оформяне на инсталационните скриптове за AWS
- Обновяване на readme, диаграми и схеми.
- Готов за предаване.