Skip to content

About

Um aplicativo web Fullstack de lista de tarefas (To-Do List) construído para demonstrar sólidos conhecimentos em desenvolvimento Backend com Go, arquitetura de software e deploy em nuvem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📝 Gerenciador de Tarefas PRO | Fullstack Go Application

Go Docker Google Cloud JavaScript HTML5 CSS3

Um aplicativo web Fullstack de lista de tarefas (To-Do List) construído para demonstrar sólidos conhecimentos em desenvolvimento Backend com Go, arquitetura de software e deploy em nuvem.

O foco deste projeto é a construção de uma API REST nativa em Go, priorizando o uso da biblioteca padrão (net/http), sem depender de frameworks externos. A aplicação está conteinerizada com Docker e preparada para execução serverless no Google Cloud Run, com integração via GitHub.


🎯 Objetivo do Projeto

Desenvolvi este projeto para colocar em prática e demonstrar minhas habilidades nas seguintes áreas:

  • Desenvolvimento Backend: Criação de APIs REST de alta performance, roteamento nativo e processamento JSON usando Go.
  • Gerenciamento de Estado e Concorrência: Manipulação segura de dados em memória utilizando sync.Mutex para evitar Data Races em aplicações concorrentes.
  • DevOps & Cloud: Criação de imagens Docker (através de um Dockerfile otimizado) e deploy real na nuvem utilizando o Google Cloud Run.
  • Fundamentos Web: Comunicação assíncrona com Fetch API e construção de interfaces dinâmicas utilizando apenas Vanilla JavaScript, HTML5 e CSS3 (Design moderno em Glassmorphism/Dark Theme).

🛠️ Stack Tecnológica

  • Backend: Go (Golang) - net/http, encoding/json, sync
  • Frontend: HTML5, CSS3, JavaScript (Vanilla Puro)
  • Infraestrutura / DevOps: Docker, Google Cloud Run, GitHub

🏗️ Arquitetura e Principais Funcionalidades

A aplicação segue a arquitetura Client-Server, onde o frontend interage de forma totalmente assíncrona com uma API RESTful.

  • Servidor de Arquivos Estáticos: A API nativa do Go (http.FileServer) é responsável por servir de forma eficiente os ativos do Frontend.
  • Operações CRUD Completas:
    • POST /tasks: Adicionar novas tarefas.
    • GET /tasks: Listar todas as tarefas ativas na sessão.
    • PUT /tasks/{id}: Atualizar o status (concluir/desmarcar) de uma tarefa.
    • DELETE /tasks/{id}: Remover definitivamente uma tarefa da listagem.
  • Segurança de Concorrência: O backend é capaz de processar múltiplas requisições simultâneas mantendo a integridade das informações no banco de dados em memória graças à implementação de mecanismos de bloqueio (sync.Mutex).

🚀 Como Executar Localmente

Você pode executar o projeto de duas formas: utilizando o Go diretamente ou através de um container Docker.

Opção 1: Usando Go (Nativo)

Pré-requisito: Go 1.20+ instalado.

  1. Clone o repositório e acesse a pasta do projeto:
    git clone https://github.com/danielvor/go.git
    cd go
  2. Execute o servidor:
    go run main.go
  3. Acesse no navegador: http://localhost:8080

Opção 2: Usando Docker

Pré-requisito: Docker Desktop instalado.

  1. Clone o repositório e acesse a pasta.
  2. Construa a imagem Docker:
    docker build -t task-manager-go .
  3. Execute o container isolado expondo a porta 8080:
    docker run -p 8080:8080 task-manager-go
  4. Acesse no navegador: http://localhost:8080

👨‍💻 Sobre o Autor

Daniel Rodrigues
Estudante de Desenvolvimento de Software na Fatec Itaquera | Desenvolvedor de Software Backend

Sou um desenvolvedor apaixonado por criar soluções eficientes, escaláveis e limpas, com forte interesse em arquitetura de backend, cloud computing e evolução contínua na linguagem Go. Busco sempre aplicar as melhores práticas de engenharia de software para entregar valor real através do código.

GitHub LinkedIn

Status: Aberto a oportunidades para atuar na área como Desenvolvedor de Software.

About

Um aplicativo web Fullstack de lista de tarefas (To-Do List) construído para demonstrar sólidos conhecimentos em desenvolvimento Backend com Go, arquitetura de software e deploy em nuvem.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages