3 | | == **Опис на проектот** == |
4 | | BlissCore е веб-базирана апликација која им овозможува на корисниците да резервираат јога часови (*trainings*), да купуваат пакети (*packages*), да се пријавуваат за специјални настани (*events*) и да купуваат јога опрема (*merch_items*). |
5 | | Апликацијата ќе поддржува **три типови на корисници**: |
6 | | - **Корисници** – Регистрирање, букирање часови, купување пакети и пријавување за настани. |
7 | | - **Инструктори** – Креирање и ажурирање на часови (*trainings*), управување со распоред (*schedule*). |
8 | | - **Администратори** – Управување со корисници, инструктори, настани, пакети и продажба на опрема. |
| 3 | == **Краток опис на проектот** == |
| 4 | BlissCore е база на податоци и веб-апликација наменета за управување со **јога часови (trainings, schedule), пакети за вежбање, специјални настани (events) и продажба на јога опрема (merch_items).** |
10 | | == **Главни функционалности** == |
11 | | - **Календарски преглед и резервација на часови** (според распоредот). |
12 | | - **Купување на пакети** (пример: „5-Class Pass“). |
13 | | - **Пријавување на специјални настани** (workshops, retreats). |
14 | | - **Продажба на јога опрема** (маици, душеци, блокови). |
15 | | - **Автоматска валидација** за капацитет на часови и статус на резервации. |
| 6 | - **Корисниците** ќе можат да се регистрираат, резервираат часови од календар, купуваат пакети („5-Class Pass“ и сл.) и да се пријават на специјални настани (workshops, retreats). |
| 7 | - **Инструкторите** ќе ги уредуваат и ажурираат часовите (*trainings*), назначените термини (*schedule*) и ќе следат резервации. |
| 8 | - **Администраторите** ќе ја одржуваат базата (*manage users, instructors, events, packages*), ќе управуваат со резервациите (*user_bookings*) и ќе следат продажба на опрема (*merch_items*). |
20 | | ||= Табела =||= Опис =|| |
21 | | || **users** || Корисници со информации за логин, име, е-пошта. || |
22 | | || **instructors** || Инструктори со биографија и експертиза. || |
23 | | || **trainings** || Различни типови на јога часови (пример: „Vinyasa Yoga“). || |
24 | | || **events** || Специјални настани (workshops, retreats). || |
25 | | || **packages** || Пакети за вежбање со дефиниран број на часови. || |
26 | | || **schedule** || Распоред за часови со датуми, време, инструктори. || |
27 | | || **user_bookings** || Запис за резервации на часови. || |
28 | | || **event_registrations** || Регистрација на корисници за настани. || |
29 | | || **merch_items** || Продавница за јога опрема (маици, душеци). || |
| 12 | === За кого е наменета базата на податоци и проектот? === |
| 13 | BlissCore е наменет за **јога студија и инструктори** кои сакаат дигитално да управуваат со своите часови, пакети и продажба на јога опрема. |
| 14 | Базата на податоци ќе биде поседувана и управувана од **јога студио или организација**, но пристап ќе имаат различни типови на корисници: |
| 15 | - **Членови (Users):** Ќе можат да букираат часови, да купуваат пакети и да се пријавуваат на настани. |
| 16 | - **Инструктори (Instructors):** Ќе управуваат со распоредот на часови и ќе имаат увид во резервациите. |
| 17 | - **Администратори:** Ќе управуваат со сите податоци, резервации и продажби. |
31 | | == **Архитектура** == |
32 | | BlissCore ќе биде развиен како **веб-апликација** користејќи: |
33 | | - **Frontend**: React (Next.js) со Tailwind CSS |
34 | | - **Backend**: Node.js + Express / .NET Core (C#) |
35 | | - **Database**: PostgreSQL |
36 | | - **DB Diagramming**: [dbdiagram.io](https://dbdiagram.io) |
37 | | - **DB Management**: DBeaver + pgAdmin |
38 | | - **SSH Tunneling**: PuTTY/Plink за пристап до факултетската база. |
| 19 | === Какви проблеми решава проектот? === |
| 20 | Овој систем ќе **автоматизира и олесни** неколку важни аспекти на управувањето со јога студио: |
| 21 | - **Резервации на часови:** Наместо рачно закажување, корисниците ќе можат да резервираат места преку веб-платформа. |
| 22 | - **Продажба на пакети:** Различни видови пакети ќе можат да се купат онлајн и автоматски да се намалува бројот на преостанати часови. |
| 23 | - **Управување со настани:** Пријавување за специјални настани без потреба од физичка регистрација. |
| 24 | - **Евиденција на јога опрема:** Преглед на залиха и автоматска пресметка на продадени производи. |
40 | | == **Фази на развој** == |
41 | | Проектот ќе се развива во следните фази: |
| 26 | === Видови корисници кои ќе имаат пристап до системот === |
| 27 | ||= Тип на корисник =||= Улога и можности во системот =|| |
| 28 | || **Корисник (User)** || Регистрација, резервација на часови, купување пакети, пријавување на настани. || |
| 29 | || **Инструктор (Instructor)** || Креирање и уредување на часови, преглед на резервации и присуство. || |
| 30 | || **Администратор (Admin)** || Управување со корисници, инструктори, резервации, пакети и продажби. || |
43 | | ||= Фаза =||= Опис =||= Линк до Wiki =||= Статус =|| |
44 | | || P0 || Дефинирање на проектот || [[ProjectDefinition]] || ✅ Завршено || |
45 | | || P1 || Концептуален дизајн – ER Дијаграми || [[ERModel]] || 🔄 Во тек || |
46 | | || P2 || Логички и физички дизајн – SQL DDL || [[RelationalDesign]] || ⏳ Не започнато || |
47 | | || P3 || Апликативен дизајн – Основни сценарија за пристап || [[UseCaseModel]] || ⏳ Не започнато || |
48 | | || P4 || Извештаи и складирани процедури || [[ReportsProcedures]] || ⏳ Не започнато || |
49 | | || P5 || Прототип апликација – Основни функционалности || [[ApplicationPrototype]] || ⏳ Не започнато || |
| 32 | === Дали постојат слични решенија и што го разликува BlissCore? === |
| 33 | Во светот постојат апликации за управување со часови, но BlissCore се разликува по тоа што: |
| 34 | - **Фокусирано е на јога студија**, а не на генерички фитнес центри. |
| 35 | - **Овозможува купување и следење на пакети**, додека повеќето конкуренти нудат само едноставни резервации. |
| 36 | - **Има интеграција за продажба на јога опрема**, што е ретко во другите системи. |
51 | | == **Инструкции за пристап до базата** == |
52 | | Апликацијата ќе користи **факултетскиот PostgreSQL сервер** и ќе се поврзува преку **SSH тунел**. |
53 | | |
54 | | - **SSH Tunnel Settings:** |
55 | | - **Host/IP:** `194.149.135.130` |
56 | | - **User:** `t_blisscoredb` |
57 | | - **Password:** `e86f40a2` |
58 | | |
59 | | - **Database Connection:** |
60 | | - **Host:** `localhost` |
61 | | - **Database Name:** `db_202425z_va_prj_blisscoredb` |
62 | | - **Username:** `db_202425z_va_prj_blisscoredb_owner` |
63 | | - **Password:** `a0bd24e328ff` |
64 | | |
65 | | == **Линкови и ресурси** == |
66 | | - [Официјална страница на проектот](https://develop.finki.ukim.mk/projects/blisscoredb) |
67 | | - [ER Дијаграм на базата](https://dbdiagram.io/d) |
68 | | - [Документација за PostgreSQL](https://www.postgresql.org/docs/) |
69 | | |
70 | | ---- |
71 | | |
72 | | == **Автори:** == |
73 | | - **[ТВОЕТО ИМЕ]** (индекс XXXXXXX) |
74 | | - Под менторство на: **проф. д-р Вангел Ајановски** |
| 38 | === Дали се работи за веб, мобилна и/или десктоп апликација? === |
| 39 | BlissCore ќе биде **веб-апликација** која користи **React (Next.js) за frontend** и **Node.js/.NET за backend**. |
| 40 | Податоците ќе се чуваат во **PostgreSQL база** и ќе се менаџираат преку **DBEAVER + pgAdmin**. |