1- # API-GO: Gerenciamento de Produtos
1+ # API-GO: Product Management with JWT Verification
22
3- Este projeto é uma API para gerenciamento de produtos desenvolvida em ** Go** utilizando o framework ** Gin** . A arquitetura é modular, garantindo maior organização e manutenibilidade.
3+ This project is an API for product management developed in ** Go** using the ** Gin** framework. The architecture is modular, ensuring better organization and maintainability.
4+
5+ <br ><br ><br >
46
57---
68
7- ## 🚀 Inicialização do Projeto
9+ ## 🚀 Project Initialization
10+
811
9- ### Pré-requisitos
12+ ### Pre-requisites
1013
11- Certifique-se de ter instalado :
12- - ** Golang** : [ Instalar Golang] ( https://go.dev/doc/install )
13- - ** Docker** : [ Instalar Docker] ( https://www.docker.com/products/docker-desktop )
14+ Make sure you have installed :
15+ - ** Golang** : [ Install Golang] ( https://go.dev/doc/install )
16+ - ** Docker** : [ Install Docker] ( https://www.docker.com/products/docker-desktop )
1417
1518---
1619
17- ### Como executar
20+ ### How to Run
1821
19- 1 . Clone o projeto e navegue para a pasta :
22+ 1 . Clone the project and navigate to the folder :
2023 ``` bash
2124 git clone https://github.com/usuario/api-go.git
2225 cd api-go
2326 ```
2427
25- 2 . Configure a conexão com o banco de dados :
26- Edite as configurações no arquivo ` db/conn.go ` para refletir suas credenciais .
28+ 2 . Configure the database connection :
29+ Edit the settings in the ` db/conn.go ` file to reflect your credentials .
2730
28- 3 . Suba os serviços com Docker:
31+ 3 . Start the services with Docker:
2932 ``` bash
3033 docker-compose up
3134 ```
3235
33- 4 . Acesse a API no endereço :
36+ 4 . Access the API at the address :
3437 - ` http://localhost:8000 `
3538
3639---
3740
38- ## 📚 Estrutura do Projeto
41+ ## 📚 Project Structure
3942
40- A estrutura está organizada da seguinte maneira :
43+ The structure is organized as follows :
4144
4245``` plaintext
4346API-GO/
4447├── cmd/
45- │ └── main.go # Arquivo principal para iniciar a aplicação
48+ │ └── main.go # Main file to start the application
4649├── controller/
47- │ └── product_controller.go # Controladores responsáveis pelas rotas
50+ │ └── product_controller.go # Controllers responsible for the routes
4851├── db/
49- │ └── conn.go # Configuração e conexão com o banco de dados
52+ │ └── conn.go # Database configuration and connection
5053├── model/
51- │ ├── product.go # Modelo do produto
52- │ └── response.go # Estruturas de resposta para a API
54+ │ ├── product.go # Product model
55+ │ └── response.go # Response structures for the API
5356├── repository/
54- │ └── product_repository.go # Camada de interação com o banco de dados
57+ │ └── product_repository.go # Layer for interacting with the database
5558├── usecase/
56- │ └── product_usecase.go # Regras de negócio e lógica da aplicação
57- ├── .gitignore # Arquivos ignorados no controle de versão
58- ├── docker-compose.yml # Configuração do Docker Compose
59- ├── Dockerfile # Configuração do container Docker
60- ├── go.mod # Dependências do projeto
61- ├── go.sum # Hash das dependências
62- └── README.md # Documentação do projeto
59+ │ └── product_usecase.go # Business logic and application logic
60+ ├── .gitignore # Files ignored in version control
61+ ├── docker-compose.yml # Docker Compose configuration
62+ ├── Dockerfile # Docker container configuration
63+ ├── go.mod # Project dependencies
64+ ├── go.sum # Dependency hashes
65+ └── README.md # Project documentation
6366```
6467
6568---
@@ -68,99 +71,101 @@ API-GO/
6871
6972### ** Ping**
7073- ** GET ` /ping ` **
71- - Retorna uma mensagem de teste .
72- - ** Resposta ** :
74+ - Returns a test message .
75+ - ** Response ** :
7376 ``` json
7477 {
75- "message" : " primeiros testes "
78+ "message" : " initial tests "
7679 }
7780 ```
7881
7982---
8083
81- ### **Produtos **
84+ ### **Products **
8285- **GET `/products`**
83- - Lista todos os produtos cadastrados .
84- - **Exemplo de Resposta **:
86+ - Lists all registered products .
87+ - **Example Response **:
8588 ```json
8689 [
8790 {
8891 "id" : 1 ,
89- "name" : " Produto 1" ,
92+ "name" : " Product 1" ,
9093 "price" : 100.00
9194 },
9295 {
9396 "id" : 2 ,
94- "name" : " Produto 2" ,
97+ "name" : " Product 2" ,
9598 "price" : 150.00
9699 }
97100 ]
98101 ```
99102
100103- **POST `/product`**
101- - Cria um novo produto .
104+ - Creates a new product .
102105 - **Body**:
103106 ```json
104107 {
105- "name" : " Produto Exemplo " ,
108+ "name" : " Sample Product " ,
106109 "price" : 100.00
107110 }
108111 ```
109- - **Exemplo de Resposta **:
112+ - **Example Response **:
110113 ```json
111114 {
112115 "id" : 1 ,
113- "name" : " Produto Exemplo " ,
116+ "name" : " Sample Product " ,
114117 "price" : 100.00
115118 }
116119 ```
117120
118121- **GET `/product/:productId`**
119- - Retorna um produto específico com base no ID.
120- - **Exemplo de Resposta **:
122+ - Returns a specific product based on the ID.
123+ - **Example Response **:
121124 ```json
122125 {
123126 "id" : 1 ,
124- "name" : " Produto Exemplo " ,
127+ "name" : " Sample Product " ,
125128 "price" : 100.00
126129 }
127130 ```
128131
129132- **PUT `/product`**
130- - Atualiza um produto existente .
133+ - Updates an existing product .
131134 - **Body**:
132135 ```json
133136 {
134137 "id" : 1 ,
135- "name" : " Produto Atualizado " ,
138+ "name" : " Updated Product " ,
136139 "price" : 150.00
137140 }
138141 ```
139- - **Exemplo de Resposta **:
140- ```json
142+ - **Example Response **:
143+ ``` json
141144 {
142145 "id" : 1 ,
143- "name" : " Produto Atualizado " ,
146+ "name" : " Updated Product " ,
144147 "price" : 150.00
145148 }
146149 ```
147150
148151- **DELETE `/product/:productId`**
149- - Remove um produto com base no ID.
150- - **Exemplo de Resposta **:
151- ```json
152+ - Removes a product based on the ID.
153+ - **Example Response **:
154+ ``` json
152155 {
153- "message" : " Produto removido com sucesso "
156+ "message" : " Product successfully removed "
154157 }
155158 ```
156159
157160---
158161
159- ## 🛠️ Tecnologias Utilizadas
162+ ## 🛠️ Technologies Used
163+
164+ - **Golang**: Main programming language.
165+ - **Gin**: Lightweight and fast framework for API development.
166+ - **Docker**: For container creation and management.
167+ - **PostgreSQL** (or another relational database): Configured in the `db` module.
160168
161- - **Golang**: Linguagem de programação principal.
162- - **Gin**: Framework leve e rápido para desenvolvimento de APIs.
163- - **Docker**: Para criação e gerenciamento de containers.
164- - **PostgreSQL** (ou outro banco relacional): Configurado no módulo `db`.
169+ <br>
165170
166171---
0 commit comments