From 6550a3ca67cdb765d2a80729fea5a185659d2f8f Mon Sep 17 00:00:00 2001 From: felipe Date: Wed, 6 Dec 2023 09:38:56 -0300 Subject: [PATCH] chore: add docker compose on readme instructions --- README.md | 49 ++++++++++++++++--------------------------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 2899ec5..455c536 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This project is a Gym Management System designed to provide essential functionalities for gym users and administrators. It covers a range of features, including user registration, authentication, profile retrieval, check-in history, searching for nearby gyms, checking in at gyms, and registering new gyms. -## Functional +## Functional 1. User Management: @@ -39,7 +39,7 @@ Ensure you have the following tools installed: Node.js PostgreSQL -1. Clone the repository: +1. Clone the repositor: ``` git clone https://github.com/Feelpe/fastify-gym-solid @@ -59,45 +59,28 @@ npm install 4. Create a .env file based on the provided .env.example and fill in the required credentials. -5. Run database migrations: +JWT_SECRET=any-secret -``` -npx prisma db push -``` +DATABASE_URL="database-url" -6. Start the application: +If you want to use Docker just run the following command ``` -npm run dev +docker compose up ``` -The application will be available at http://localhost:3000. - -## RFs (Requisitos funcionais) +And use the URl already set on .env.example -- [x] Deve ser possível se cadastrar; -- [x] Deve ser possível se autenticar; -- [x] Deve ser possível obter o perfil de um usuário logado; -- [x] Deve ser possível obter o número de check-ins realizados pelo usuário logado; -- [x] Deve ser possível o usuário obter seu histórico de check-ins; -- [x] Deve ser possível o usuário buscar academias próximas (até 10km); -- [x] Deve ser possível Deve ser possível o usuário buscar academias pelo nome; -- [x] Deve ser possível o usuário realizar check-in em uma academia; -- [x] Deve ser possível validar o check-in de um usuário; -- [x] Deve ser possível cadastrar uma academia; +5. Run database migrations: -## RNs (Regras de negócio) +``` +npx prisma migrate dev +``` -- [x] O usuário não deve poder se cadastrar com um e-mail duplicado; -- [X] O usuário não pode fazer 2 check-ins no mesmo dia; -- [X] O usuário não pode fazer check-in se não estiver perto (100m) da academia; -- [x] O check-in só pode ser validade até 20 minutos após criado; -- [x] O check-in só pode ser validado por administradores; -- [x] A academia só pode ser cadastrada por administradores; +6. Start the application: -## RNFs (Requisitos não-funcionais) +``` +npm run dev +``` -- [x] A senha do usuário precisa estar criptografado; -- [x] Os dados da aplicação precisa estar persistido em um banco PostgreSQL; -- [x] Todas as listas de dados precisam estar paginadas com 20 itens por página; -- [x] O usuário deve ser identificados por um JWT (JSON Web Token); +The application will be available at .