Aplicație web cu temă retro pentru vizualizarea apropierii și depărtării într-o relație dintre doi utilizatori, folosind o animație cu dublă elice (double helix).
- Autentificare securizată cu JWT și bcrypt
- Sistem de invitație cu coduri unice pentru formarea relațiilor
- Animație double helix care reflectă vizual apropierea și distanța dintre parteneri
- Actualizări în timp real folosind WebSockets
- Design retro cu efecte CRT, culori neon și fonturi pixelate
- React.js
- React Router pentru navigare
- HTML5 Canvas pentru animație
- Comunicare API cu Axios
- WebSockets pentru actualizări în timp real
- Go (Golang) cu Fiber framework
- PostgreSQL pentru baza de date
- JWT pentru autentificare
- WebSockets pentru comunicare în timp real
relationship-helix-frontend/
├── public/
├── src/
│ ├── components/ (componente UI)
│ ├── context/ (gestionare stare globală)
│ ├── services/ (comunicare cu API)
│ └── styles/ (CSS)
relationship-helix-backend/
├── cmd/
│ └── server/ (punctul de intrare)
├── internal/
│ ├── api/ (handlere, middleware și rute)
│ ├── config/ (configurație aplicație)
│ ├── db/ (acces bază de date și migrări)
│ ├── models/ (structuri de date)
│ └── utils/ (funcții utilitare)
- Node.js (16+)
- Go (1.18+)
- PostgreSQL
- Git
- Clonează repository-ul
- Navighează în directorul backend
cd relationship-helix-backend - Instalează dependențele Go
go mod download
- Configurează baza de date PostgreSQL
CREATE DATABASE relationship_helix;
- Setează variabilele de mediu în fișierul
.env(vezi.env.example) - Rulează aplicația
go run cmd/server/main.go
- Navighează în directorul frontend
cd relationship-helix-frontend - Instalează dependențele Node.js
npm install
- Setează variabilele de mediu în fișierul
.env(vezi.env.example) - Rulează aplicația
npm start
- Accesează aplicația în browser la
http://localhost:3000
- Creează un cont nou sau autentifică-te
- Generează un cod de invitație și trimite-l partenerului tău
- Partenerul tău introduce codul pentru a stabili relația
- Vizualizați animația double helix care reprezintă relația voastră
- Actualizați-vă poziția (apropiat/distant) și urmăriți în timp real schimbările
Acest proiect este disponibil sub licența MIT. Consultă fișierul LICENSE pentru detalii.
Stefan Bibirus