Sistem toko - deskripsi di bawah ini tidak mutakhir, proyek sedang dibangun kembali
Informasi umum
- Beberapa alat digunakan untuk memfasilitasi pembuatan kode yang kuat: phpstan (level 6), deptrac, codeniffer.
- Aplikasi ini telah diuji dengan baik, dengan pengujian dikategorikan menjadi pengujian Aplikasi (E2E), Integrasi, dan Unit.
- Sistem caching berdasarkan Redis telah diterapkan.
Solusi teknis
- Direktori disusun menjadi /Module, yang berisi subdirektori untuk semua modul, dan /Shared, yang mencakup komponen yang digunakan bersama di semua modul. Setiap modul [Pesanan, Produk, Pengguna] terdiri dari empat direktori:
- Aplikasi -> menampung implementasi logika aplikasi
- Domain -> berisi hal-hal yang berkaitan dengan informasi bisnis - entitas, enum, dan antarmuka repositori
- Infrastruktur -> mencakup komponen yang terkait dengan lapisan teknis, seperti database dan sistem caching
- UI -> berisi perintah konsol atau pengontrol yang berfungsi sebagai koneksi antara pengguna dan sistem
- Tindakan diklasifikasikan menjadi perintah dan kueri. Saya telah menerapkan solusi khusus untuk menyimpan informasi setelah tindakan selesai. Setiap perintah mengembalikan CommandResult, sementara kueri mengembalikan QueryResult, yang berisi informasi tentang keberhasilan, kode status, dan data yang diambil.
- Otentikasi diimplementasikan menggunakan pendekatan JWT dengan LexikJWTAuthenticationBundle.
- Sumber acara digunakan untuk menyimpan informasi tentang status pesanan saat ini. Status pesanan yang terakhir dibuat menunjukkan statusnya saat ini.
Basis data
Dokumen API
Struktur
Modul
Perintah menggunakan Make
Inisialisasi untuk pertama kali dijalankan
Jalankan profil pengembangan
Hentikan migrasi, migrasikan, dan muat perlengkapan
make drop_migrations
make migrate
make load_fixtures
Jalankan semua tes
Perintah tanpa Make
Inisialisasi untuk pertama kali dijalankan
docker-compose up --profile dev -d
docker-compose exec php bin/console doctrine:migrations:diff
docker-compose exec php bin/console doctrine:migrations:migrate
docker-compose exec php bin/console lexik:jwt:generate-keypair
Untuk perintah lain, periksa konten Makefile
Dokumentasi API
Dokumentasi API tersedia di