Buenos días, buenas tardes o buenas noches. Este proyecto es gerente de la colección de biblioteca de la escuela Etec Aristotle Ferreira
En este repositorio habrá tres proyectos:
Actualmente se completa parcialmente la API interna GIB realizada en GRPC. Es posible realizar las pruebas unitarias del proyecto.
Puede ejecutar la API de dos maneras: usar el entorno de la máquina o usar Docker. Es preferible usar Docker si ya ha instalado o no puede instalar los requisitos para la ejecución en el entorno de la máquina.
Puede ser que, debido al ancho de banda, tome tiempo para instalar imágenes y paquetes.
Para ejecutar en un entorno local, existen los siguientes requisitos:
Es necesario que antes de la ejecución configure el archivo ./src/LivrEtec.GIB.Servidor/appsettings.json
Recomiendo copiar el archivo appSettings.modelo.json, llenando la propiedad AuthKey con una cadena que sirve como clave de autenticación y la cadena de conexión de acuerdo con su servidor MySQL. Use como ejemplo, el archivo AppSettings utilizado en Docker.
Después de configurar el proyecto, abre el proyecto en Visual Studio y elija el Livretec.gib.servator como un proyecto de iniciación, o se ejecute en un emulador terminal en el ./src/LivrEtec.GIB.Servidor
dotnet runPuede ocurrir un error si no ha configurado las appSettings correctamente, como la cadena de conexión o el puerto no válido. En caso de cualquier error, siéntete cómodo para publicar un
Para ejecutar el servidor usando Docker es simple, simplemente ejecute el siguiente comando en la carpeta ./src
docker compose --profile backend up --buildComo se dijo anteriormente, ya que es necesario descargar las imágenes y los paquetes que Nuget puede tardar minutos en descargar dependiendo de su banda de Internet.
Después de ejecutar el proyecto, informará a las puertas que está escuchando. Como los certificados SSL aún no están configurados, se recomienda utilizar los estándares HTTP.
Para hacer llamadas a la API, elija el cliente de GRPC su elección.
Algunas alternativas son el insomnio o el postman.
El archivo API de Proto es en ./src/livretec.gib/protos/acervo.proto.
Después de eso, es necesario iniciar sesión en API a través de una solicitud de login en GerenciamentoSessao . Se requiere inicio de sesión para nombrar el hash de inicio de sesión y contraseña, pero la primera vez que inicia el servidor, creará un usuario con un usuario con admin:senha e id 1.
El hash de contraseña debe generarse de la siguiente manera:
md5(senha + id).
Entonces la solicitud debe ser la siguiente:
{
"IdUsuario" : 1 ,
"HashSenha" : " 92f20dafc5e5ac1c66820903c492cc04 "
} Y luego devolverá el token JWT, que debe agregarse al encabezado de la siguiente manera: Authorization: Bearer <JWT Token>
Bien, ahora tendrá acceso al resto de la API como administrador.
Sin embargo, tal como es posible probar la API GIB en el entorno local y el Docker, puede hacer algunas pruebas sin un servidor MySQL instalado.
Las pruebas se dividen en dos:
Para realizar solo pruebas locales, simplemente haya instalado el .NET 6.0.0 y en la carpeta ./src/ Realice el siguiente comando:
dotnet test LivrEtec.sln --filter Category=local Si está utilizando Visual Studio, abra el administrador de pruebas y ejecute la categoría de prueba local
Para realizar pruebas remotas también debe ejecutar el servidor GIB. Una vez que haya ejecutado, debe crear y configurar el archivo ./src/LivrEtec.Testes/appsettings.json .
Copie el archivo appSettings.modelo.json y complete con la misma información que llenó las appsettings del servidor GIB, además de agregar el enlace del servidor, si el enlace aparece en este formato:
http://[::]:21312significa lo mismo quehttp://localhost:21312
Y después de configurar el servidor y las pruebas para ejecutar el proyecto, simplemente ejecute el siguiente comando en el directorio ./src/
dotnet test LivrEtec.slnEn Visual Studio, simplemente abra el administrador de pruebas y haga clic en Ejecutar.
Si desea usar el Docker, simplemente vaya a la carpeta ./src/ y ejecute los contenedores con el siguiente comando:
docker compose --profile teste up --buildEl
--buildes para asegurarse de que el contenedor se ejecute con el último código.
Después de ejecutar las pruebas, el contenedor de la base de datos continuará ejecutándose. Si desea salir automáticamente después de las pruebas, agregue
--exit-code-from appcomo un indicador en el comando.
El diseño está disponible en https://figma.com/community/file/1176031299741420547
Toda la ayuda es bienvenida si desea colaborar. Recomendamos que primero vaya a (wiki) [./ wiki/ proyectos de proyectos] y lea un poco para obtener la descripción general del proyecto, y luego busque (./ problemas] cualquier problema que le interese. Si encuentra un bifurcación de proyecto, realiza sus modificaciones y luego realiza una extracción para el proyecto.
Para obtener más información sobre el proyecto, consulte nuestra documentación.
Bienvenido :)