Giter VIP home page Giter VIP logo

api-crud's Introduction

API-CRUD com Go e PostgreSQL

Este é um projeto de exemplo que implementa uma aplicação web simples utilizando Go para o back-end, PostgreSQL para persistência de dados, e uma interface web simples para interagir com a aplicação. O projeto é containerizado utilizando Docker e Docker Compose, permitindo uma configuração e execução simples e consistente.

Diagrama da Arquitetur

Aqui está um diagrama básico para ilustrar a arquitetura do projeto:

Arquitetura

  • Frontend: Interface HTML/CSS simples servida pelo Go.
  • Backend: Aplicação Go que gerencia a lógica de negócios e a comunicação com o banco de dados.
  • Banco de Dados: PostgreSQL para persistência dos dados.

Pré-requisitos

Certifique-se de ter os seguintes softwares instalados na sua máquina:

  • Docker: Para construir e rodar os containers.
  • Docker Compose: Para orquestrar os containers.
  • Go: Para desenvolvimento local, caso você queira fazer alterações no código.

Configuração do Ambiente

  1. Clone o repositório:

    git clone https://github.com/johnpaulnasc/api-crud.git
    cd api-cru
    
  2. Configure as variáveis de ambiente:

    Crie um arquivo .env na raiz do projeto com as seguintes variáveis:

    DATABASE_USER=youruser
    DATABASE_PASSWORD=yourpassword
    DATABASE_HOST=postgres
    DATABASE_PORT=5432
    DATABASE_NAME=yourdbname
    

Como Rodar o Projeto

  1. Construa e inicie os containers:

    Utilize o Docker Compose para construir a imagem da aplicação e iniciar os containers:

    docker-compose up --build
    
  2. Acesse a aplicação:

    A aplicação estará disponível em http://localhost:8080.

Endpoints

  • GET /items: Lista todos os itens.
  • POST /items: Cria um novo item.
  • PUT /items: Atualiza um item existente (a ser implementado).
  • DELETE /items: Deleta um item existente (a ser implementado).

Funcionalidades

  • CRUD Completo: A aplicação permite criar, ler, atualizar e deletar itens no banco de dados PostgreSQL.
  • Interface Web Simples: Um frontend minimalista permite a interação com a API através do navegador.
  • Containerização Completa: Tudo roda em containers, garantindo consistência no ambiente de desenvolvimento.

Como Contribuir

Sinta-se à vontade para contribuir com este projeto. Aqui estão algumas maneiras:

  • Reporte Bugs: Use a seção de "Issues" no GitHub para reportar problemas.
  • Submeta PRs: Envie pull requests para adicionar funcionalidades ou corrigir problemas.
  • Sugira Melhorias: Qualquer sugestão é bem-vinda!

Licença

Este projeto é distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

api-crud's People

Contributors

johnpaulnasc avatar

Stargazers

Ítalo Nicácio avatar Arthur Ricardo Ribeiro Lopes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.