FiveKeys - Web - Botoșani - Lucrari 2025 Nationala

Informatii generale

Descriere

· FiveKeys este o platformă completă de gestionare și distribuție a licențelor digitale, cu accent pe produsele pentru FiveM. Sistemul oferă o experiență integrată pentru administratori și clienți, cu o interfață modernă în temă dark cu accente de verde neon. Platforma este complet bilingvă, oferind suport pentru limbile română și engleză, cu posibilitatea de a comuta între ele în orice moment.

· De ce FiveKeys?

  • FiveKeys reprezintă o soluție completă pentru gestionarea și distribuția licențelor digitale, cu accent pe securitate, ușurință în utilizare și experiență utilizator modernă. Platforma oferă toate instrumentele necesare atât pentru administratori, cât și pentru clienți, într-un pachet integrat și ușor de utilizat.

  • Cu suport complet pentru internaționalizare în limbile română și engleză, FiveKeys se adresează unei audiențe globale, oferind o experiență localizată și personalizată. Sistemul de licențe diferențiate (ARGENTUM și AURUM) și multiplele metode de plată asigură flexibilitate pentru toți utilizatorii, în timp ce funcționalitățile avansate de administrare și monitorizare oferă control total asupra platformei.

  • Prin combinarea unei interfețe moderne cu funcționalități robuste de securitate și gestionare, FiveKeys stabilește un nou standard pentru platformele de distribuție a licențelor digitale pentru FiveM.

· Platforma FiveKeys este construită în jurul a trei componente esențiale:

-FiveKeys Authentication - Un sistem avansat de autentificare care oferă multiple metode de acces: autentificare clasică cu username și parolă, precum și integrare completă cu Discord OAuth. Sistemul include criptare avansată pentru datele sensibile și gestionarea sesiunilor securizate.

-FiveKeys Management - Un panou de administrare complet pentru gestionarea utilizatorilor, licențelor și conținutului. Administratorii pot monitoriza activitatea, gestiona baza de date, configura webhooks și personaliza conținutul site-ului. Sistemul include backup automat al bazei de date pentru siguranța datelor.

-FiveKeys Customer Portal - O zonă dedicată clienților unde aceștia își pot gestiona licențele, descărca produsele achiziționate și primi asistență. Sistemul include un sistem de ranking pentru clienți (Silver, Gold, etc.) și integrare cu Discord pentru suport comunitar.

Tehnologii

Tehnologii

  • Node.js - Platformă de runtime pentru JavaScript pe server;

  • Express.js - Framework web pentru Node.js;

  • EJS - Sistem de template-uri pentru generarea paginilor HTML;

  • LowDB - Bază de date JSON locală pentru stocarea datelor;

  • Passport.js - Middleware de autentificare pentru Node.js;

  • Discord OAuth - Integrare cu sistemul de autentificare Discord;

  • Discord.js - Bibliotecă pentru integrarea cu API-ul Discord;

  • Bcrypt - Bibliotecă pentru hashing-ul parolelor;

  • Crypto - Modul pentru criptarea datelor sensibile;

  • i18n-express - Suport pentru internaționalizare și multilingvism;

  • Express-session - Gestionarea sesiunilor utilizatorilor;

  • Express-rate-limit - Limitarea ratei de cereri pentru prevenirea atacurilor;

  • Axios - Client HTTP pentru cereri externe;

  • Multer - Middleware pentru încărcarea fișierelor.

Funcționalități principale

· Sistem de autentificare și înregistrare

  • Înregistrare cu username și parolă;

  • Autentificare prin Discord OAuth;

  • Gestionarea sesiunilor utilizatorilor;

  • Protecție împotriva atacurilor de tip brute force.

· Panou de administrare

  • Gestionarea utilizatorilor (vizualizare, editare, ștergere, suspendare temporară);

  • Gestionarea licențelor (creare, revocare, extindere, transfer între servere);

  • Monitorizarea activității utilizatorilor în timp real;

  • Backup și restaurare a bazei de date cu programare automată;

  • Editare conținut site (pagina principală, FAQ, termeni și condiții, anunțuri);

  • Configurare webhooks Discord pentru notificări și alerte;

  • Statistici detaliate despre vânzări și utilizare;

  • Gestionarea tipurilor de licențe (ARGENTUM și AURUM) cu prețuri și funcționalități diferite;

  • Sistem de validare a plăților cu confirmare automată;

  • Generare de rapoarte și exporturi pentru analiză.

· Zona clienților

  • Vizualizarea și gestionarea licențelor personale cu istoric complet;

  • Descărcarea produselor achiziționate și a actualizărilor;

  • Sistem de ranking pentru clienți (Silver, Gold, etc.) cu beneficii progressive;

  • Integrare cu Discord pentru suport și comunitate;

  • Achiziționarea de licențe noi (ARGENTUM sau AURUM) direct din platform;

  • Multiple metode de plată (Paysafe, Revolut, Card, PayPal, Skrill, Neteller);

  • Notificări pentru actualizări și expirarea licențelor;

  • Posibilitatea de a solicita transferul licenței între servere.

· Securitate

  • Criptarea datelor sensibile (parole, licențe, informații personale);

  • Rate limiting pentru prevenirea atacurilor;

  • Protecție împotriva atacurilor XSS și CSRF;

  • Backup automat al bazei de date.

· Internaționalizare

  • Suport complet pentru multiple limbi (Română, Engleză)

  • Interfață adaptabilă în funcție de limba selectată de utilizator;

  • Traduceri complete pentru toate secțiunile site-ului;

  • Detectare automată a limbii browserului;

  • Posibilitatea de a schimba limba din orice pagină;

  • Mesaje de eroare și notificări în limba selectată;

  • Documentație disponibilă în ambele limbi;

  • Formatare adaptată pentru date și valute conform standardelor locale.

Arhitectura sistemului

FiveKeys folosește o arhitectură MVC (Model-View-Controller) simplificată:

  • Model: LowDB pentru stocarea datelor în format JSON;

  • View: Template-uri EJS pentru renderizarea interfețelor;

  • Controller: Rutele Express.js pentru gestionarea logicii de business.

Sistemul este construit modular, cu separarea clară a responsabilităților între diferite componente:

  • /routes: Definirea rutelor și a logicii de business;

  • /views: Template-uri pentru interfața utilizator;

  • /services: Servicii pentru funcționalități externe (Discord, logging);

  • /utils: Utilități pentru criptare și alte funcții commune;

  • /public: Resurse statice (CSS, JavaScript, imagini).

Securitate și confidențialitate

FiveKeys pune un accent deosebit pe securitatea datelor utilizatorilor:

  • Parolele sunt stocate folosind algoritmi de hashing puternici (bcrypt);

  • Datele sensibile sunt criptate înainte de a fi stocate în baza de date;

  • Sesiunile utilizatorilor sunt gestionate securizat;

  • Sistemul include protecție împotriva atacurilor comune (XSS, CSRF, brute force);

  • Backup-uri automate pentru prevenirea pierderii de date.

Scalabilitate

Deși FiveKeys utilizează o bază de date locală (LowDB), sistemul este proiectat pentru a fi scalabil:

  • Arhitectura modulară permite înlocuirea ușoară a componentelor;

  • Sistemul poate fi adaptat pentru a utiliza baze de date mai robuste (MongoDB, PostgreSQL);

  • Codul este organizat pentru a permite extinderea funcționalităților.

Componente din proiect create de autorul lucrării

  • Funcționalitatea principală a site-ului;

  • Sistemul de autentificare;

  • Sistemul de administrare (Admin Dashboard-ul);

  • Organizarea datelor în baza de date;

  • Sistemul de backup al bazei de date (local și prin Discord Webhook);

  • Sistemul de notificări prin Discord Webhooks;

  • Sistemul de suport prin Discord cu tickete;

  • Sistemul de ranking a clienților (Silver, Gold, Platinum);

  • Sistemul de licențe (ARGENTUM si AURUM);

  • Interfața/Design-ul și experiența utilizatorilor;

  • Măsurile de securitate.

Surse

  • Documentația oficială a tehnologiilor folosite;

  • Comunitatea FiveM pentru înțelegerea nevoilor utilizatorilor;

  • Tendințele actuale în designul site-urilor web.

Cerinte sistem

· Pentru utilizatori:

  • Browser (Chrome, Firefox, Safari, Edge, etc.);

  • Conexiune la Internet;

  • Cont Discord (opțional, pentru autentificare prin Discord).

· Pentru partea de server (minim recomandat):

  • Procesor: 2 core-uri;

  • Memorie RAM: 4GB;

  • Stocare: 2GB SSD/HDD;

  • Conexiune la Internet: 100Mbps (mai mult în cazul traficului mare pe site);

  • Sistem de operare: Linux/Windows/Windows Server;

  • Node.js versiunea 14.x sau mai recentă.

Realizatori

Robert Iulian Dorohoi

  • Scoala: Colegiul Tehnic Gheorghe Asachi Botosani
  • Clasa: 11
  • Judet: Botoșani
  • Oras: Botosani

Screenshots