SkillAgentSearch skills...

Quicknotes

Projeto web desenvolvido durante o curso Desenvolvimento Web com Go - Do zero ao deploy (udemy)

Install / Use

/learn @robsondevgo/Quicknotes
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

Desenvolvimento Web com Go - Do Zero ao Deploy

Quicknotes

Aplicação web desenvolvida durante o curso. Trata-se de uma aplicação de gerenciamento de anotações e lembretes, similar ao Google Keep.

Configuração

A aplicação pode ser configurada através de variáveis de ambiente. As variáveis disponíveis podem ser vistas no arquivo .env ou na struct Config do pacote main.

A struct Config possui uma tag (env) que define o nome da variável de ambiente e um valor default ou a palavra required, para os casos em que o valor precisa obrigatoriamente vir de uma variável de ambiente (por exemplo, valores confidenciais são exemplos de valores que devem ser configurados em variáveis de ambiente).

Abaixo podemos ver um exemplo de como configurar uma propriedade na struct Config.

type Config struct {
    NomePropriedade string `env:"NOME_ENV_VAR,valor_default"`
    SecretValue string `env:"SECRET_VALUE,required"`
}
  • NomePropriedade: nome da propriedade de configuração
  • NOME_ENV_VAR: nome da variável de ambiente de onde o valor será lido

Rotas da aplicação

| Método | Rota | Handler | Descrição | |:-------|:-------------------------|:------------------|:----------------------------------| | GET | / | HomeHandler | Home Page | | GET | /note | NoteList | Home Page | | GET | /note/{id} | NoteView | Visualiza uma anotação | | GET | /note/new | NoteNew | Form de Criação de uma anotação | | POST | /note/ | NoteSave | Cria uma anotação | | DELETE | /note/{id} | NoteDelete | Remove uma anotação | | GET | /note/{id}/edit | NoteEdit | Form de alteração de uma anotação | | GET | /user/signup | SignupForm | Form de registro de usuários | | POST | /user/signup | Signup | Adiciona o usuário no banco | | GET | /user/signin | SigninForm | Form de login de usuários | | POST | /user/signin | Signin | Processa o login do usuário | | GET | /user/signout | Signout | Processa o logout do usuário | | GET | /user/password | ResetPassword | Form para alteração de senha | | POST | /user/password/{token} | ResetPasswordForm | Processa alteração de senha | | GET | /user/forgetpassword | ForgetPasswordForm| Form para alteração de senha | | POST | /user/forgetpassword | ForgetPassword | Processa alteração de senha | | GET | /confirmation/{token} | Confirm | Confirmação de email do cadastro |

Modelo do Banco de Dados

NOTES

| CAMPO | TIPO | CONSTRAINT | |:-----------|:----------|:-------------| | ID | BIGSERIAL | PK, NOT NULL | | TITLE | TEXT | NOT NULL | | CONTENT | TEXT | | | COLOR | TEXT | NOT NULL | | CREATED_AT | TIMESTAMP | | | UPDATED_AT | TIMESTAMP | | | USER_ID | BIGINT | NOT NULL |

USERS

| CAMPO | TIPO | CONSTRAINT | |:-----------|:----------|:-----------------------| | ID | BIGSERIAL | PK, NOT NULL | | EMAIL | TEXT | NOT NULL UNIQUE | | PASSWORD | TEXT | NOT NULL | | ACTIVE | TEXT | NOT NULL DEFAULT false | | CREATED_AT | TIMESTAMP | | | UPDATED_AT | TIMESTAMP | |

USERS_CONFIRMATION_TOKENS

| CAMPO | TIPO | CONSTRAINT | |:-----------|:----------|:-----------------------| | ID | BIGSERIAL | PK, NOT NULL | | USER_ID | BIGINT | NOT NULL | | TOKEN | TEXT | NOT NULL | | CONFIRMED | BOOLEAN | NOT NULL DEFAULT false | | CREATED_AT | TIMESTAMP | | | UPDATED_AT | TIMESTAMP | |

SESSIONS

| CAMPO | TIPO | CONSTRAINT | |:-----------|:------------|:-------------| | TOKEN | TEXT | PK, NOT NULL | | DATA | BYTEA | NOT NULL | | EXPIRY | TIMESTAMPTZ | NOT NULL |

Execução

Para executar a aplicação com Docker localmente, execute o comando abaixo:

docker compose -f ./docker-compose.local.yml up -d

Para executar a aplicação com Docker em produção (cloud), execute o comando abaixo:

docker compose up -d
View on GitHub
GitHub Stars12
CategoryOperations
Updated6mo ago
Forks5

Languages

Go

Security Score

82/100

Audited on Sep 17, 2025

No findings