Informatii generale
- Categorie: Web
- Judetul: Prahova
- Surse: GitHub - proxy76/globe-tales
- Homepage: https://globe-tales-frontend.onrender.com/
Descriere
Aplicația “GlobeTales.” este o platformă digitală intuitivă și elegantă, dedicată pasionaților de călătorii care doresc să-și păstreze amintirile într-un mod organizat și interactiv. Aceasta permite utilizatorilor să creeze jurnale de călătorie personalizat, precum și să țină evidența locurilor vizitate sau planificate.
Una dintre funcționalitățile cheie ale aplicației este lista de dorințe (bucket list), unde utilizatorii pot adăuga destinații de vis, pot seta obiective de călătorie și pot urmări progresul realizării acestora.
Pentru o experiență completă, aplicația oferă și o bază de date extinsă cu informații detaliate despre țări și orașe, incluzând date geografice, culturale și curiozități. Utilizatorii pot astfel să-și planifice călătoriile mai eficient, având acces la informații relevante direct din aplicație.
Din punct de vedere tehnic, aplicația este construită pe un front-end modern în React, care oferă o interfață fluidă, responsivă și ușor de utilizat pe dispozitive.
Pe partea de server, back-end-ul este realizat în Python cu framework-ul Django, oferind un sistem robust de gestionare a datelor, autentificare securizată, roluri de utilizatori și API-uri RESTful pentru comunicarea eficientă între front-end și bazele de date. Sistemul de autentificare este securizat prin criptarea parolei.
„GlobeTales” nu este doar o aplicație, ci un instrument complet de documentare și planificare a experiențelor de călătorie. Printr-o interfață modernă și intuitivă, utilizatorii pot înregistra și organiza amintirile din călătorii, pot urmări obiectivele personale de explorare și pot accesa informații relevante despre destinații din întreaga lume. Platforma reunește funcționalități avansate într-un ecosistem digital coerent, oferind un spațiu personalizat pentru reflecție, inspirație și planificare. Astfel, fiecare călător are la dispoziție un jurnal digital sigur, accesibil și interactiv, care susține și valorifică pasiunea pentru descoperirea lumii.
Tehnologii
Arhitectura generală
La bază, aplicația este construită folosind o arhitectură React + Django, în care partea de client (frontend) este realizată cu React 18, iar logica de server (backend) este susținută de Django 4.2 și Django REST Framework. Această separare clară între interfață și logica aplicației permite o dezvoltare eficientă și o mentenanță ușoară, deschizând drumul pentru extinderi viitoare.
Frontend-ul este responsiv, interactiv și organizat pe componente reutilizabile. Navigarea se realizează prin react-router-dom, iar comunicația cu serverul se face asincron prin axios, folosind formate JSON. Starea aplicației este controlată prin Context API și useEffect, permițând o sincronizare fluidă cu datele din backend.
Pe partea de server, Django gestionează autentificarea, logica aplicației și persistarea datelor, utilizând inițial baza de date SQLite3 pentru MVP, cu opțiunea de migrare spre PostgreSQL în producție. API-urile REST sunt expuse prin Django REST Framework, facilitând schimbul de date cu clientul în mod clar și standardizat.
Funcționalități esențiale
Aplicația oferă un set complet de funcționalități care acoperă întregul flux de utilizare al unui jurnal de călătorie digital:
Autentificare securizată: folosind sistemul nativ Django auth, cu sesiuni și criptare a parolelor.
Hartă interactivă globală: fiecare țară poate fi selectată pentru a fi adăugată în lista de dorințe (bucket list), marcată ca vizitată sau pentru afișarea de informații relevante.
Bucket List personalizat: utilizatorii pot salva destinații dorite, marca obiective și planifica activități.
Jurnal de călătorie: permite adăugarea de notițe, imagini și etichete legate de țări sau locații vizitate.
Setări de cont: utilizatorii își pot gestiona datele, schimba parola sau șterge contul.
Integrare cu RESTCountries API: oferă automat informații despre țări (monedă, limbă, steag etc.) fără stocare locală.
Componentă de chat inteligentă: bazată pe GPT-4o de la OpenAI, utilizatorii pot primi recomandări de călătorie, sugestii sau răspunsuri contextuale într-un mod conversațional.
Three.js: pe pagina de start, aplicația oferă o animație 3D a globului pământesc pentru o experiență vizuală captivantă.
Redis (opțional): folosit pentru optimizarea performanței prin cache, rate limiting sau gestionarea sesiunilor extinse.
Cerinte sistem
Frontend:
Node.js v18+
npm
React v18+
Biblioteci: react-router-dom, axios, Three.js
Sistem de operare: Windows 10+, macOS, sau Linux
Backend:
Python v3.11+
Django v4.2+
Django REST Framework
Base de date: SQLite3 (local) și PostgreSQL (producție)
Redis
Server WSGI: Gunicorn (producție)
Realizatori
Delia Soare
- Scoala: Colegiul Național Nicolae Grigorescu
- Clasa: 12
- Judet: Prahova
- Oras: Filipeștii de Pădure
Răzvan-Alexandru Rădulescu
- Scoala: Colegiul National Nicolae Grigorescu
- Clasa: 12
- Judet: Prahova
- Oras: Câmpina
Screenshots
