Selamat pagi, selamat siang atau selamat malam. Proyek ini adalah manajer koleksi Perpustakaan Sekolah ETEC Aristoteles Ferreira
Di repositori ini akan ada tiga proyek:
Saat ini sebagian menyelesaikan API internal GIB yang dibuat di GRPC. Dimungkinkan untuk melakukan tes unit proyek.
Anda dapat menjalankan API dengan dua cara: menggunakan lingkungan mesin atau menggunakan Docker. Lebih disukai menggunakan Docker jika sudah diinstal atau tidak dapat memasang persyaratan untuk dieksekusi di lingkungan mesin.
Mungkin saja, karena bandwidth, membutuhkan waktu untuk menginstal gambar dan paket.
Untuk dieksekusi di lingkungan lokal, ada persyaratan berikut:
Perlu bahwa sebelum eksekusi mengkonfigurasi file ./src/LivrEtec.GIB.Servidor/appsettings.json
Saya merekomendasikan untuk menyalin file appsettings.modelo.json, mengisi properti authkey dengan string yang berfungsi sebagai kunci otentikasi dan string koneksi sesuai dengan server mysql Anda. Gunakan sebagai contoh file appsettings yang digunakan di Docker.
Setelah mengkonfigurasi proyek, Anda membuka proyek di Visual Studio dan memilih livretec.giB.Servator sebagai proyek inisiasi, atau dijalankan pada emulator terminal di ./src/LivrEtec.GIB.Servidor
dotnet runKesalahan dapat terjadi jika belum dikonfigurasi dengan benar, seperti string koneksi atau port yang tidak valid. Dalam hal kesalahan apa pun, merasa nyaman untuk memposting
Untuk menjalankan server menggunakan Docker sederhana, cukup jalankan perintah berikut di folder ./src
docker compose --profile backend up --buildSeperti yang dinyatakan sebelumnya, karena perlu untuk mengunduh gambar dan paket Nuget mungkin membutuhkan waktu beberapa menit untuk diunduh tergantung pada band internet Anda.
Setelah menjalankan proyek, dia akan memberi tahu pintu yang dia dengarkan. Karena sertifikat SSL belum dikonfigurasi, disarankan untuk menggunakan standar HTTP.
Untuk membuat panggilan ke API, pilih pelanggan GRPC pilihan Anda.
Beberapa alternatif adalah insomnia atau tukang pos.
File API Proto berada di ./src/livretec.gib/protos/acervo.proto.
Setelah itu, perlu masuk ke API melalui permintaan untuk login dalam GerenciamentoSessao . Login diperlukan untuk menyebutkan nama login dan kata sandi, tetapi pertama kali memulai server, itu akan membuat pengguna dengan pengguna dengan admin:senha dan id 1.
Kata sandi hash perlu dihasilkan sebagai berikut:
md5(senha + id).
Jadi permintaan harus sebagai berikut:
{
"IdUsuario" : 1 ,
"HashSenha" : " 92f20dafc5e5ac1c66820903c492cc04 "
} Dan kemudian akan mengembalikan token JWT, yang harus ditambahkan ke header sebagai berikut: Authorization: Bearer <JWT Token>
Oke, sekarang Anda akan memiliki akses ke sisa API sebagai administrator.
Sama seperti GIB API dimungkinkan untuk menguji di lingkungan lokal dan Docker, Anda dapat melakukan beberapa tes tanpa server MySQL yang diinstal.
Tes dibagi menjadi dua:
Untuk melakukan hanya tes lokal, cukup instal .NET 6.0.0 dan di folder ./src/ Lakukan perintah berikut:
dotnet test LivrEtec.sln --filter Category=local Jika Anda menggunakan Visual Studio, buka Test Manager dan jalankan kategori tes local
Untuk juga melakukan tes jarak jauh, Anda harus terlebih dahulu menjalankan server GIB. Setelah Anda dieksekusi, Anda perlu membuat dan mengkonfigurasi file ./src/LivrEtec.Testes/appsettings.json .
Salin file appsettings.modelo.json, dan isi dengan informasi yang sama yang mengisi aplikasi server gib, serta menambahkan tautan server, jika tautan muncul dalam format ini:
http://[::]:21312berarti sama denganhttp://localhost:21312
Dan setelah mengkonfigurasi server dan menguji untuk menjalankan proyek cukup jalankan perintah berikut di direktori ./src/
dotnet test LivrEtec.slnDi Visual Studio cukup buka Test Manager dan klik Run.
Jika Anda ingin menggunakan Docker, cukup pergi ke folder ./src/ dan jalankan wadah dengan perintah berikut:
docker compose --profile teste up --build
--buildadalah untuk memastikan bahwa wadah dieksekusi dengan kode terbaru.
Setelah menjalankan tes, wadah basis data akan terus berjalan. Jika Anda ingin keluar secara otomatis setelah pengujian, tambahkan
--exit-code-from appsebagai bendera dalam perintah.
Desainnya tersedia di https://figma.com/community/file/1176031299741420547
Semua bantuan diterima jika Anda ingin berkolaborasi. Kami menyarankan Anda pertama kali pergi ke (wiki) [./ Wiki/ proyek-proyek] dan membaca sedikit untuk mendapatkan ikhtisar proyek, dan kemudian mencari (./ Masalah] masalah apa pun yang menarik minat Anda. Jika Anda menemukan fork proyek, buatlah modifikasi dan kemudian tarik untuk proyek tersebut.
Untuk informasi lebih lanjut tentang proyek ini, lihat dokumentasi kami.
Selamat datang :)