Leadership Team lordcara Posted January 17, 2025 Leadership Team Share Posted January 17, 2025 * Nume: lordcara * Autor: n/a * Descriere: Un site web gata făcut pentru un proiect SAMP, dezvoltat folosind framework-ul Laravel PHP. Proiectul este complet gata de lansare și include următoarele funcții: secțiune de știri, autorizare la contul personal, recuperarea parolei, sistem de donații, istoricul plăților, harta serverului, schimbarea parolei. Funcționalitate complexă nu a fost adăugată în mod deliberat pentru a facilita procesul de învățare a structurii proiectului și de lucru cu acesta. Totul este implementat cât mai simplu posibil, astfel încât începătorii să-și dea seama rapid unde este totul. Baza de date conține un set minim de informații, deoarece fiecare proiect SAMP are propria sa structură și funcționalitate unică. Acest lucru vă permite să adaptați cu ușurință site-ul la proiectul dvs. De exemplu, în contul dvs. personal, puteți introduce în mod independent datele necesare pentru a afișa informații despre contul utilizatorului. Site-ul include și un panou administrativ. Pentru a accesa panoul de administrare, accesați /admin. Dacă sunteți deja autentificat ca administrator, sistemul vă va redirecționa către pagina principală de administrare. În caz contrar, se va deschide pagina de conectare. Este important să rețineți că autorizarea în contul dvs. personal și în panoul administrativ sunt două sisteme diferite care nu au legătură între ele. Proiectul a fost creat cu accent pe simplitate și funcționalitate, ceea ce îl face o soluție excelentă de pornire pentru proiectul dvs. SAMP. reply Structura paginii Site public 1. Pagina de pornire (/) O pagină standard cu informații de bază despre proiectul dvs. Iată instrucțiuni pentru începerea jocului, știri și contacte. Dacă nu există știri în baza de date, blocul cu acestea nu va fi afișat - este necesar să fie afișată cel puțin o știre. 2. Știri (/știri) Secțiune în care sunt afișate toate știrile tale. Se utilizează paginarea: 10 înregistrări sunt afișate pe o singură pagină. 3. Despre noi (/companie/despre) Secțiunea cu informații mai detaliate despre proiectul dumneavoastră. 4. Acord de utilizare (/company/user-agreement) Secțiune cu textul acordului de utilizare. 5. Politica de prelucrare a datelor cu caracter personal (/company/privacy-policy) O pagină în care sunt postate informații despre politica de prelucrare a datelor cu caracter personal. Profilul jucătorului 1. Cont personal (/profil) O pagină cu informații generale despre contul de utilizator. 2. Istoricul plăților (/profile/payment-history) O pagină cu istoricul tuturor plăților utilizatorilor, indiferent de starea acestora. Se utilizează paginarea: 10 înregistrări sunt afișate pe o singură pagină. 3. Harta serverului (/profile/map) Monitorizarea hărții serverului. În prezent, sunt afișate doar casele și întreprinderile și informațiile acestora. Funcționalitatea poate fi extinsă în funcție de caracteristicile proiectului dvs. SAMP. 4. Setări (/profile/settings) O pagină cu un formular pentru schimbarea parolei. Dacă parola este schimbată cu succes, utilizatorul este notificat prin e-mail. De asemenea, funcționalitatea poate fi modificată în funcție de cerințele dumneavoastră. Admin ShopController.php: 2. Știri (/admin/news) Pagina pentru gestionarea știrilor. Toate știrile sunt afișate aici, indiferent de starea lor. Butoane implementate pentru crearea, editarea și ștergerea știrilor. QuillJS este folosit pentru a edita conținutul , ceea ce simplifică completarea textelor. Imaginile adăugate la conținut sunt salvate în baza de date în format base64 . Coperta de știri este stocată în directorul public/storage/news_images. Când editați sau ștergeți o știre, fișierele inutile sunt șterse automat. 3. Utilizatorii (/admin/users) Pagina tuturor jucătorilor din proiectul tău SAMP. Se utilizează paginarea: 10 înregistrări sunt afișate pe o singură pagină. Adresele de e-mail neverificate sunt evidențiate cu roșu (cele cu o dată specificată în câmpul email_verified_at sunt considerate verificate ). Pe pagina de editare utilizator este disponibilă secțiunea „Plăți”, unde sunt afișate toate tranzacțiile jucătorului, tot cu paginare (10 înregistrări pe pagină). 4. Administratori (/admin/admins) Secțiune pentru administrarea administratorilor site-ului (nu administratorii jocului). Se utilizează paginarea: 10 înregistrări sunt afișate pe o singură pagină. În mod implicit, un proiect are un super administrator (Super_Admin), care poate crea noi administratori. Funcționalitatea include crearea, editarea și ștergerea administratorilor. Este imposibil să eliminați un super admin. Pentru a diferenția drepturile de administrator, se recomandă utilizarea pachetului spatie/laravel-permission , care vă permite să adăugați roluri (de exemplu, „moderator”, „editor”). 5. Contul personal al administratorului (/admin/profile) O pagină simplă cu informații de bază despre administratorul actual. Dacă este necesar, funcționalitatea poate fi îmbunătățită. Parolă Din câte știu, majoritatea proiectelor SAMP folosesc formatul MD5 pentru stocarea parolelor. Cu toate acestea, Laravel și pachetele sale de autorizare nu acceptă MD5 din cauza vulnerabilității sale. Prin urmare, s-a decis să scriem propria noastră implementare a autorizației. Funcționalitatea de autorizare și schimbare a parolei funcționează pe deplin cu MD5. În același timp, autorizarea în panoul administrativ nu utilizează MD5 și este implementată folosind metode mai sigure. Dacă proiectul dvs. stochează parole într-un alt format decât MD5, va trebui să vă schimbați ușor logica parolei pentru a vă adapta proiectului. De asemenea, recomand cu căldură să adăugați autentificare cu doi factori dacă utilizați MD5 pentru a stoca parole pentru a crește securitatea. Aşteptările mele Pe baza structurii proiectului, presupun că aveți deja o bază de date configurată cu tabele: utilizatori (utilizatori - jucători), afaceri (afaceri), case (case). Tabel utilizatori: nume de utilizator - porecla jocului; parola - parola; email — mail joc; p_level — nivel; p_skin — ID-ul pielii; p_money — moneda de joc; p_donate — cont de donație; email_verified_at — data confirmării e-mailului; created_at — data creării contului; updated_at — data la care intrarea a fost actualizată ultima dată (actualizată automat). Tabele case și afaceri: nume - titlu; descriere - descriere; preț — cost de stat; entrance_x — coordonata de intrare de-a lungul axei X; entrance_y — coordonata intrării de-a lungul axei Y; entrance_z — coordonatele intrării de-a lungul axei Z; user_id - ID-ul jucătorului care deține casa sau afacerea. Pentru harta din contul personal, sunt folosite coordonatele X și Y . Dacă baza de date numește aceste câmpuri în mod diferit, asigurați-vă că faceți modificări controlerului MapController.php și fișierului map.blade.php. Structura proiectului Pentru a lucra cu proiectul, vă recomand să utilizați PhpStorm IDE. Puteți trece cu mouse-ul peste orice metodă, puteți apăsa Ctrl pentru a trece la implementarea acesteia și, astfel, puteți afla unde și cum este apelat codul. Fișierele și directoarele principale routes/web.php Iată rutele pentru partea publică a site-ului. A fost creat un traseu separat pentru fiecare pagină și logica acesteia. routes/admin.php Acest fișier conține rute legate de zona de administrare. Proiectul este construit pe principiul MVC (Model-View-Controller): Model - lucrul cu baza de date. Vizualizare - vizualizări (şabloane HTML). Controller - logic, de exemplu, preluarea datelor din baza de date și transmiterea acestora către vizualizări. app/Modele Acest folder conține modele care reprezintă tabele de baze de date. De exemplu, aplicația/Modelele/Utilizatorul este asociat cu tabelul utilizatori . resurse/vizualizări Întregul aspect al site-ului este stocat aici, inclusiv șabloanele de panouri administrative. În orice șablon, veți avea acces la două variabile: $serverName și $serverIP. app/Http/Controllers Conține controlere. Un controler separat este creat pentru fiecare bucată de logică. Există, de asemenea, un folder Admin , unde se află controlerele legate de panoul de administrare. Middleware Proiectul folosește două Middleware: AuthenticateUser - verifică autorizarea utilizatorului. De exemplu, pentru a deschide o pagină de cont personal, se folosește acest Middleware. Dacă utilizatorul nu este autorizat, accesul la pagină va fi refuzat. AuthenticateAdmin - responsabil pentru autorizare în panoul de administrare. De exemplu, pentru a crea o știre sau pentru a vă conecta la panoul administrativ. În rute se numesc auth.user și auth.admin. Lucrul cu baza de date baza de date/seedere - Iată seederele care sunt folosite pentru a popula baza de date. De exemplu, pentru dezvoltare sau testare, puteți completa tabelele cu date false folosind pachetul fakerphp/faker. În acest moment sunt trei semănători în proiect: pentru case, afaceri și crearea unui super-administrator. Valoarea implicită este DatabaseSeeder. Comenzi pentru lucrul cu seeders: Rulați toate seeders: php artisan db:seed. Lansați un seeder specific: php artisan db:seed --class=UserSeeder. baza de date/migrari - O parte importanta a proiectului. Toate manipulările cu baza de date (crearea, modificarea, ștergerea tabelelor) sunt efectuate prin migrări. Migrațiile pot fi urmărite, anulate, iar starea acestora poate fi verificată. Comenzi de bază: Creați o migrare: php artisan make:migration create_users_table. Aplicarea migrării: php artisan migrate. Migrare rollback: php artisan migrate:rollback (puteți specifica câte migrări să rollback). Vedeți toate comenzile disponibile: php artisan. Frontend public/assets - Acest director conține stiluri, cod JavaScript și imagini. resurse - fișierele CSS și JS se află și ele în acest folder. Dacă le schimbați, asigurați-vă că construiți proiectul cu comanda: npm run build Donat Există suficiente sisteme de plată și fiecare îl poate alege pe cel potrivit la propria discreție. Cu toate acestea, acest proiect nu implementează funcționalitatea completă de plată. Există un tabel cu plăți, statisticile sunt afișate în panoul de administrare, iar utilizatorul are un istoric de plăți, dar procesul de plată în sine nu este furnizat. Am pregătit doar baza și trebuie să alegeți un sistem de plată și să îl conectați singur. Vei avea la dispozitie un controller ShopController.php , care are o metoda processPayment . În această metodă, primești informații despre utilizatorul care face donația, suma și e-mail. Toate datele pentru intrarea de plată din tabel sunt deja acolo și este creată o intrare cu starea de așteptare. Toate stările posibile pot fi găsite în fișierul app/Enums/PaymentStatus. După procesarea plății, trebuie să schimbați starea din tabel de la așteptare la succes sau eroare, în funcție de rezultat. Dacă plata are succes, trebuie să actualizați și câmpul p_donate din tabelul utilizatori. Exemplu de cod pentru modificarea stării și actualizarea datelor utilizatorului: ShopController.php $payment->update(['status' => 'success']); $user->increment('p_donate', $validated['amount']); Există multe articole pe Internet despre cum să conectați sistemele de plată și există și pachete specializate pentru Laravel care pot simplifica acest proces. Ce este necesar pentru a începe un proiect? Pentru utilizatorii Linux, această instrucțiune nu este necesară, deoarece presupune că sunteți deja familiarizat cu procesul de configurare. 1. Instalați OpenServer sau un instrument similar 2. Verificați versiunile instrumentelor instalate folosind comenzile: 2.1. php -v 2.2. composer -V 3. Instalați Node.js. După instalare, asigurați-vă că Node.js și npm funcționează corect, rulând comenzile: 3.1. nodul -v 3.2. npm -v PHP: versiunea 8.2 sau mai mare. MySQL: Am 8.0 la momentul dezvoltării. Primii pași Cel mai probabil, ați descărcat arhiva proiectului, dar instrucțiunile sunt scrise ca și cum ați clona depozitul din GitHub. Recomand să folosiți datele de proiect furnizate pentru a vă da o idee despre cum funcționează mai întâi, mai degrabă decât să vă adaptați imediat baza de date. 1. Crearea unei baze de date. Creați o bază de date goală pentru proiect. 2. Configurarea fișierului .env. Ar trebui să aveți un fișier .env în directorul rădăcină al proiectului. Dacă nu este acolo, copiați fișierul env.example și redenumiți-l, eliminând .example: 3. Apoi, executați comanda: php artisan key:generate 4. Deschideți fișierul .env și configurați-l la setările dvs.: APP_URL - Specificați adresa site-ului (local - local, pe link-ul găzduire - site). SAMP_SERVER_NAME — Numele proiectului dvs. SAMP. SAMP_SERVER_IP - adresa IP a serverului dvs. SAMP. DB_HOST — Gazda bazei de date. DB_PORT — Port de bază de date. DB_DATABASE — Numele bazei de date. DB_USERNAME — Nume utilizator al bazei de date. DB_PASSWORD — Parolă pentru baza de date (lăsați necompletat dacă nu este necesar). SUPER_ADMIN_PASSWORD - Setați o parolă complexă pentru super-administrator (sunt necesare minimum 8 caractere). CONTACT_EMAIL — E-mail pentru proiect. Găsiți variabila MAIL_MAILER și specificați setările pentru serviciul dvs. de e-mail. Fără aceasta, trimiterea de e-mailuri nu va funcționa. Pentru a testa local am folosit mailtrap. 5. Instalarea dependențelor. Instalați dependențe PHP și Node.js: 5.1. instalarea compozitorului 5.2. npm install 6. Goliți memoria cache. Pentru orice eventualitate, ștergeți toate cache-urile: 6.1. php artisan cache:clear 6.2. php artisan route:clear 6.3. php artisan config:clear 6.4. php artisan view:clear 7. Asamblare front-end. Construiți proiectul: npm run build 8. Stocare fișiere. Pentru a vă asigura că imaginile pe care le încărcați sunt vizibile în șabloanele dvs., utilizați comanda: php artisan storage:link. 9. Migrații și gunoi verzi. Efectuați o migrare a bazei de date și rulați seedere pentru a semăna: php artisan migrate:fresh --seed 10. Porniți proiectul. Pentru a rula proiectul, rulați: php artisan serve Nu vă lăsați intimidați de numărul mare de pași la prima vedere - de fapt, totul este destul de simplu. Pașii de bază includ configurarea fișierului .env și instalarea dependențelor. Aceasta este doar configurarea inițială. În viitor, pentru a rula proiectul veți avea nevoie de o singură comandă: php artisan serve Dacă totul este făcut corect, site-ul va fi disponibil la: 127.0.0.1:8000 În plus: Arhiva conține un dump de bază de date folosit în faza de dezvoltare. Parole în tabelul de utilizatori: 123123 Parole în tabelul de administratori: 12345678 *Imagini: reply Spoiler: Capturi de ecran *DOWNLOAD: This is the hidden content, please Sign In or Sign Up 1 1 Link to comment https://easy-code.ro/topic/1383-index-ucp-samp-pasi-configurare-ucp/ Share on other sites More sharing options...
Tester Posted February 2, 2025 Share Posted February 2, 2025 thx Link to comment https://easy-code.ro/topic/1383-index-ucp-samp-pasi-configurare-ucp/#findComment-14449 Share on other sites More sharing options...
NoNameZ Posted February 3, 2025 Share Posted February 3, 2025 unlocking, cheers Link to comment https://easy-code.ro/topic/1383-index-ucp-samp-pasi-configurare-ucp/#findComment-14452 Share on other sites More sharing options...
PerdizRPG Posted May 11, 2025 Share Posted May 11, 2025 On 1/17/2025 at 4:15 PM, lordcara said: * Nume: lordcara * Autor: n/a * Descriere: Un site web gata făcut pentru un proiect SAMP, dezvoltat folosind framework-ul Laravel PHP. Proiectul este complet gata de lansare și include următoarele funcții: secțiune de știri, autorizare la contul personal, recuperarea parolei, sistem de donații, istoricul plăților, harta serverului, schimbarea parolei. Funcționalitate complexă nu a fost adăugată în mod deliberat pentru a facilita procesul de învățare a structurii proiectului și de lucru cu acesta. Totul este implementat cât mai simplu posibil, astfel încât începătorii să-și dea seama rapid unde este totul. Baza de date conține un set minim de informații, deoarece fiecare proiect SAMP are propria sa structură și funcționalitate unică. Acest lucru vă permite să adaptați cu ușurință site-ul la proiectul dvs. De exemplu, în contul dvs. personal, puteți introduce în mod independent datele necesare pentru a afișa informații despre contul utilizatorului. Site-ul include și un panou administrativ. Pentru a accesa panoul de administrare, accesați /admin. Dacă sunteți deja autentificat ca administrator, sistemul vă va redirecționa către pagina principală de administrare. În caz contrar, se va deschide pagina de conectare. Este important să rețineți că autorizarea în contul dvs. personal și în panoul administrativ sunt două sisteme diferite care nu au legătură între ele. Proiectul a fost creat cu accent pe simplitate și funcționalitate, ceea ce îl face o soluție excelentă de pornire pentru proiectul dvs. SAMP. *Imagini: *DOWNLOAD: Hidden Content Give reaction or reply to this topic to see the hidden content. bn frate Link to comment https://easy-code.ro/topic/1383-index-ucp-samp-pasi-configurare-ucp/#findComment-15612 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now