add readme
This commit is contained in:
		
							parent
							
								
									ef34fc2fa3
								
							
						
					
					
						commit
						9cfb384d1d
					
				
							
								
								
									
										82
									
								
								sk1/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								sk1/README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,82 @@
 | 
			
		||||
# Health AI Assistant
 | 
			
		||||
 | 
			
		||||
## Opis aplikácie
 | 
			
		||||
 | 
			
		||||
Health AI Assistant je webová aplikácia, ktorá umožňuje používateľom registráciu, prihlásenie, interaktívny chat a prezeranie histórie konverzácií. Aplikácia využíva generatívny model (pomocou Mistral) na spracovanie dotazov a poskytovanie odpovedí. Používateľom poskytuje možnosť overenia pomocou Google OAuth a uchováva dáta v databáze PostgreSQL.
 | 
			
		||||
 | 
			
		||||
## Použité cloudové a kontajnerové technológie
 | 
			
		||||
 | 
			
		||||
- **Verejný cloud:**  
 | 
			
		||||
  Aplikácia je nasadená na AWS EC2, pričom bol použitý Elastic IP, aby bol verejný IP adresa statická.
 | 
			
		||||
- **Docker:**  
 | 
			
		||||
  Nasadenie aplikácie je plne založené na Docker kontajneroch. Použité sú kontajnery pre:
 | 
			
		||||
  - **Elasticsearch** – pre fulltext vyhľadávanie a ukladanie indexov.
 | 
			
		||||
  - **PostgreSQL** – ako databáza s perzistentným zväzkom (volume `pgdata`).
 | 
			
		||||
  - **Backend** – Flask aplikácia, ktorá spracúva API požiadavky.
 | 
			
		||||
  - **Frontend** – klientská časť, ktorá komunikuje s backendom.
 | 
			
		||||
- **Nginx:**  
 | 
			
		||||
  Ako reverzný proxy server je nastavený Nginx pre zabezpečený prístup cez HTTPS. Certifikát je získaný pomocou Certbot (Let's Encrypt).
 | 
			
		||||
- **Skripty:**  
 | 
			
		||||
  Nasadenie a zrušenie aplikácie sa automatizuje pomocou skriptov `prepare-app.sh`, `stop-app.sh`, `start-app.sh` a `remove-app.sh`.
 | 
			
		||||
 | 
			
		||||
## Obsah odovzdávaných súborov a konfigurácia
 | 
			
		||||
 | 
			
		||||
V repozitári máte nasledovné súbory a adresáre:
 | 
			
		||||
- **docker-compose.yml** – Definuje štyri služby (elasticsearch, postgres, backend, frontend) a sieť `app-network`.  
 | 
			
		||||
  - Pre každú službu je definovaný aj parameter `restart: always`, ktorý zabezpečuje automatický reštart v prípade chyby.
 | 
			
		||||
  - Pre postgres je definovaný persistent volume `pgdata`.
 | 
			
		||||
- **Dockerfile** pre jednotlivé komponenty:
 | 
			
		||||
  - `./elasticsearch/Dockerfile` – Konfigurácia Elasticsearch, vrátane nastavení environmentálnych premenných.
 | 
			
		||||
  - `./Backend/Dockerfile` – Konfigurácia backendovej Flask aplikácie.
 | 
			
		||||
  - `./frontend/Dockerfile` – Konfigurácia frontendovej aplikácie.
 | 
			
		||||
- **Skripty:**
 | 
			
		||||
  - **prepare-app.sh** – Skript, ktorý zostaví (build) a spustí celú aplikáciu pomocou docker-compose.
 | 
			
		||||
  - **stop-app.sh** – Skript, ktorý zastaví všetky služby.
 | 
			
		||||
  - **start-app.sh** – Skript, ktorý spustí služby, ktoré boli len zastavené.
 | 
			
		||||
  - **remove-app.sh** – Skript, ktorý úplne odstráni všetky kontajnery, siete a volume, čím zabezpečí, že aplikáciu je možné rýchlo zrušiť.
 | 
			
		||||
- **Nginx konfigurácia**  
 | 
			
		||||
  Súbor `/etc/nginx/sites-available/healthai-tuke.com` (nasadený na AWS) zabezpečuje:
 | 
			
		||||
  - Presmerovanie HTTP na HTTPS.
 | 
			
		||||
  - Reverzný proxy, ktorý smeruje požiadavky:
 | 
			
		||||
    - `/api/` na backend (Flask, port 5000).
 | 
			
		||||
    - Ostatné požiadavky na frontend (port 5173).
 | 
			
		||||
 | 
			
		||||
## Ako pozrieť a použiť aplikáciu
 | 
			
		||||
 | 
			
		||||
1. Otvorte webový prehliadač a zadajte adresu:  
 | 
			
		||||
   `https://healthai-tuke.com`
 | 
			
		||||
   
 | 
			
		||||
2. Používateľské rozhranie vám umožní:
 | 
			
		||||
   - Registráciu a prihlásenie.
 | 
			
		||||
   - Spustenie chatu so systémom.
 | 
			
		||||
   - Prezeranie histórie konverzácií.
 | 
			
		||||
 | 
			
		||||
3. Pre prístup k API môžete testovať požiadavky pomocou nástrojov ako Postman, curl alebo priamo cez Frontend, ktorý komunikuje s backendom.
 | 
			
		||||
 | 
			
		||||
## Podmienky pre spustenie skriptov
 | 
			
		||||
 | 
			
		||||
- **prepare-app.sh:**  
 | 
			
		||||
  Tento skript zostaví a spustí celú aplikáciu pomocou príkazu `docker-compose up --build -d`. Skript by sa mal spúšťať z koreňového adresára repozitára, kde sa nachádza súbor `docker-compose.yml`.
 | 
			
		||||
  
 | 
			
		||||
- **stop-app.sh:**  
 | 
			
		||||
  Skript zastaví všetky bežiace kontajnery pomocou príkazu `docker-compose stop`.
 | 
			
		||||
  
 | 
			
		||||
- **start-app.sh:**  
 | 
			
		||||
  Tento skript spustí kontajnery, ktoré boli len zastavené, pomocou príkazu `docker-compose start`.
 | 
			
		||||
  
 | 
			
		||||
- **remove-app.sh:**  
 | 
			
		||||
  Skript úplne odstráni vytvorené kontajnery, siete a persistent volume príkazom `docker-compose down --volumes --remove-orphans`.
 | 
			
		||||
 | 
			
		||||
## Zoznam externých zdrojov
 | 
			
		||||
  
 | 
			
		||||
- **Externé zdroje a dokumentácia:**
 | 
			
		||||
  - [Docker Documentation](https://docs.docker.com)
 | 
			
		||||
  - [Docker Compose Documentation](https://docs.docker.com/compose/)
 | 
			
		||||
  - [Nginx Documentation](https://nginx.org/en/docs/)
 | 
			
		||||
  - [Let's Encrypt Certbot Documentation](https://certbot.eff.org)
 | 
			
		||||
  - [Google OAuth 2.0](https://developers.google.com/identity/protocols/oauth2)
 | 
			
		||||
  - [PostgreSQL Documentation](https://www.postgresql.org/docs/)
 | 
			
		||||
  - [Sentence Transformers Documentation](https://www.sbert.net)
 | 
			
		||||
  - [Hugging Face Hub Documentation](https://huggingface.co/docs)
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user