| Version 2 (modified by , 6 days ago) ( diff ) |
|---|
Build Instructions
Development environment description
BiblioPremium е веб-апликација развиена во Python со Flask framework и PostgreSQL база на податоци.
Апликацијата пристапува до факултетската PostgreSQL база преку SSH тунел.
За развој и стартување на апликацијата се користат:
- Python 3.12
- Flask
- PostgreSQL
- psycopg2
- sshtunnel
- python-dotenv
- paramiko
- Visual Studio Code или друг Python editor
- Web browser
Главната структура на проектот е:
BiblioPremium/
app.py
.env
.gitignore
templates/
static/
style.css
images/
app.py ја содржи Flask апликацијата, поврзувањето со базата на податоци и имплементацијата на функционалностите.
Во директориумот templates се наоѓаат HTML шаблоните што се користат за приказ на страниците на апликацијата.
Во директориумот static се наоѓаат CSS стиловите и сликите што се користат во корисничкиот интерфејс.
Build instructions
1. Инсталација на Python
За стартување на апликацијата потребно е да биде инсталиран Python 3.12.
Инсталираната верзија може да се провери преку терминал со:
python --version
2. Инсталација на потребните библиотеки
Во терминал, во директориумот на проектот, потребно е да се инсталираат библиотеките што ги користи апликацијата:
pip install Flask psycopg2-binary sshtunnel python-dotenv paramiko
3. Конфигурација на пристапот до базата
Во root директориумот на проектот се користи .env датотека за чување на параметрите потребни за SSH и PostgreSQL поврзувањето.
Структурата на .env датотеката е:
SSH_HOST=<SSH host> SSH_PORT=<SSH port> SSH_USER=<SSH username> SSH_PASSWORD=<SSH password> DB_HOST=<database host> DB_PORT=<database port> DB_NAME=<database name> DB_USER=<database username> DB_PASSWORD=<database password>
Вистинските лозинки и други доверливи пристапни податоци не се објавуваат во wiki документацијата или во Git репозиториумот.
.env датотеката е додадена во .gitignore за да не се објавуваат доверливите податоци.
Апликацијата при стартување ги вчитува потребните параметри од environment variables, воспоставува SSH тунел и преку него се поврзува со PostgreSQL базата.
4. Стартување на апликацијата
Потребно е да се отвори терминал во директориумот на проектот.
Апликацијата се стартува со:
python app.py
При успешно воспоставување на конекцијата со базата, во терминалот се прикажува:
Успешно поврзување со BiblioPremium базата!
По стартувањето, Flask го прикажува URL-то на кое локално работи апликацијата.
Вообичаено апликацијата е достапна на:
http://127.0.0.1:5000/
URL-то се отвора во web browser.
Testing instructions
За тестирање на прототипот потребно е апликацијата да биде успешно стартувана и поврзана со PostgreSQL базата.
Корисникот може да регистрира нов профил преку страницата „Регистрација“ или да се најави со веќе креиран тест корисник.
Основното тестирање на прототипот може да се изврши преку следните чекори:
- Да се отвори почетната страница и да се провери дали се прикажуваат книгите од базата на податоци.
- Во полето за пребарување да се внесе дел од наслов на книга и да се провери дали се прикажуваат соодветните резултати.
- Да се отвори пронајдена книга и да се проверат нејзините детали.
- Да се регистрира нов корисник или да се изврши најава со постоечки корисник.
- Да се отвори страницата „Мои преференции“, да се изберат жанрови и категории и да се зачуваат преференциите.
- Да се отвори страницата „Препораки“ и да се провери дали се прикажуваат персонализирани препораки според зачуваните жанрови и категории.
- На страницата „Препораки“ да се избере расположение и да се провери дали се прикажуваат книгите поврзани со избраното расположение.
- Да се отвори страница со детали за книга и книгата да се додаде во „Омилени“.
- Да се отвори страницата „Омилени“ и да се провери дали додадената книга се прикажува во листата.
- Книгата да се отстрани од омилени и да се провери дали повеќе не се прикажува во листата.
- Да се отвори страница со детали за книга и да се избере количина за купување.
- Да се притисне копчето „Купи ја книгата“ и да се провери дали купувањето е успешно извршено.
- На страницата за успешно купување да се проверат книгата, количината, вкупната цена, статусот на нарачката, начинот на плаќање и статусот на плаќањето.
- Да се отвори страницата „Мои нарачки“ и да се провери дали новата нарачка се прикажува во историјата на купувања со точната количина и цена.
Промените направени преку апликацијата се запишуваат директно во PostgreSQL базата на податоци и по потреба може дополнително да се проверат преку DBeaver.
