Changes between Initial Version and Version 1 of BuildInstructions


Ignore:
Timestamp:
09/25/26 01:43:24 (6 days ago)
Author:
223306
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildInstructions

    v1 v1  
     1= Build Instructions =
     2
     3== Development environment description ==
     4
     5BiblioPremium е веб-апликација развиена во Python со Flask framework и PostgreSQL база на податоци.
     6
     7Апликацијата пристапува до факултетската PostgreSQL база преку SSH тунел.
     8
     9За развој и стартување на апликацијата се користат:
     10
     11* Python 3.12
     12* Flask
     13* PostgreSQL
     14* psycopg2
     15* sshtunnel
     16* python-dotenv
     17* paramiko
     18* Visual Studio Code или друг Python editor
     19* Web browser
     20
     21Главната структура на проектот е:
     22
     23{{{
     24BiblioPremium/
     25    app.py
     26    .env
     27    .gitignore
     28    templates/
     29    static/
     30        style.css
     31        images/
     32}}}
     33
     34`app.py` ја содржи Flask апликацијата, поврзувањето со базата на податоци и имплементацијата на функционалностите.
     35
     36Во директориумот `templates` се наоѓаат HTML шаблоните што се користат за приказ на страниците на апликацијата.
     37
     38Во директориумот `static` се наоѓаат CSS стиловите и сликите што се користат во корисничкиот интерфејс.
     39
     40== Build instructions ==
     41
     42=== 1. Инсталација на Python ===
     43
     44За стартување на апликацијата потребно е да биде инсталиран Python 3.12.
     45
     46Инсталираната верзија може да се провери преку терминал со:
     47
     48{{{
     49python --version
     50}}}
     51
     52=== 2. Инсталација на потребните библиотеки ===
     53
     54Во терминал, во директориумот на проектот, потребно е да се инсталираат библиотеките што ги користи апликацијата:
     55
     56{{{
     57pip install Flask psycopg2-binary sshtunnel python-dotenv paramiko
     58}}}
     59
     60=== 3. Конфигурација на пристапот до базата ===
     61
     62Во root директориумот на проектот се користи `.env` датотека за чување на параметрите потребни за SSH и PostgreSQL поврзувањето.
     63
     64Структурата на `.env` датотеката е:
     65
     66{{{
     67SSH_HOST=<SSH host>
     68SSH_PORT=<SSH port>
     69SSH_USER=<SSH username>
     70SSH_PASSWORD=<SSH password>
     71
     72DB_HOST=<database host>
     73DB_PORT=<database port>
     74DB_NAME=<database name>
     75DB_USER=<database username>
     76DB_PASSWORD=<database password>
     77}}}
     78
     79Вистинските лозинки и други доверливи пристапни податоци не се објавуваат во wiki документацијата или во Git репозиториумот.
     80
     81`.env` датотеката е додадена во `.gitignore` за да не се објавуваат доверливите податоци.
     82
     83Апликацијата при стартување ги вчитува потребните параметри од environment variables, воспоставува SSH тунел и преку него се поврзува со PostgreSQL базата.
     84
     85=== 4. Стартување на апликацијата ===
     86
     87Потребно е да се отвори терминал во директориумот на проектот.
     88
     89Апликацијата се стартува со:
     90
     91{{{
     92python app.py
     93}}}
     94
     95При успешно воспоставување на конекцијата со базата, во терминалот се прикажува:
     96
     97{{{
     98Успешно поврзување со BiblioPremium базата!
     99}}}
     100
     101По стартувањето, Flask го прикажува URL-то на кое локално работи апликацијата.
     102
     103Вообичаено апликацијата е достапна на:
     104
     105{{{
     106http://127.0.0.1:5000/
     107}}}
     108
     109URL-то се отвора во web browser.
     110
     111== Testing instructions ==
     112
     113За тестирање на прототипот потребно е апликацијата да биде успешно стартувана и поврзана со PostgreSQL базата.
     114
     115Корисникот може да регистрира нов профил преку страницата „Регистрација“ или да се најави со веќе креиран тест корисник.
     116
     117Основното тестирање на прототипот може да се изврши преку следните чекори:
     118
     1191. Да се отвори почетната страница и да се провери дали се прикажуваат книгите од базата на податоци.
     120
     1212. Во полето за пребарување да се внесе дел од наслов на книга и да се провери дали се прикажуваат соодветните резултати.
     122
     1233. Да се отвори пронајдена книга и да се проверат нејзините детали.
     124
     1254. Да се регистрира нов корисник или да се изврши најава со постоечки корисник.
     126
     1275. Да се отвори страницата „Мои преференции“, да се изберат жанрови и категории и да се зачуваат преференциите.
     128
     1296. Да се отвори страницата „Препораки“ и да се провери дали се прикажуваат персонализирани препораки според зачуваните жанрови и категории.
     130
     1317. На страницата „Препораки“ да се избере расположение и да се провери дали се прикажуваат книгите поврзани со избраното расположение.
     132
     1338. Да се отвори страница со детали за книга и книгата да се додаде во „Омилени“.
     134
     1359. Да се отвори страницата „Омилени“ и да се провери дали додадената книга се прикажува во листата.
     136
     13710. Книгата да се отстрани од омилени и да се провери дали повеќе не се прикажува во листата.
     138
     13911. Да се отвори страница со детали за книга и да се избере количина за купување.
     140
     14112. Да се притисне копчето „Купи ја книгата“ и да се провери дали купувањето е успешно извршено.
     142
     14313. На страницата за успешно купување да се проверат книгата, количината, вкупната цена, статусот на нарачката, начинот на плаќање и статусот на плаќањето.
     144
     14514. Да се отвори страницата „Мои нарачки“ и да се провери дали новата нарачка се прикажува во историјата на купувања со точната количина и цена.
     146
     147Промените направени преку апликацијата се запишуваат директно во PostgreSQL базата на податоци и по потреба може дополнително да се проверат преку DBeaver.