Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/danielegiidio/in-orbit-backend

Aplicação backend para gerenciamento de metas pessoais
https://github.com/danielegiidio/in-orbit-backend

api-rest docker drizzle-orm fastify nodejs postegresql types zod

Last synced: 5 days ago
JSON representation

Aplicação backend para gerenciamento de metas pessoais

Awesome Lists containing this project

README

        


In.Orbit


GitHub language count

GitHub Top Language

Repository size


GitHub last commit


License


Capa do projeto

## 💻 About

Aplicação back-end desenvolvida em Node.js e TypeScript, que implementa uma API REST. O projeto utiliza o framework Fastify para a construção da API, e o DrizzleORM para a integração com o banco de dados PostgreSQL. Ele também emprega Docker para containerização e Zod para validação de dados. A aplicação serve como um gerenciador de metas, permitindo a criação e acompanhamento de metas, bem como o monitoramento de suas conclusões semanais.

## 💡Description

- Gerenciamento de Metas: Criação, acompanhamento e finalização de metas.
- Acompanhamento Semanal: Consulta de metas pendentes baseadas em frequência semanal.
- Validação de Dados: Validação de entradas da API utilizando Zod.

### 📝 Requisites

Antes de baixar o projeto você vai precisar ter instalado na sua máquina as seguintes ferramentas:

* [Git](https://git-scm.com)
* [NodeJS](https://nodejs.org/en/)
* [Docker](https://hub.docker.com/r/bitnami/postgresql)
* [NPM](https://www.npmjs.com/)

Para testar as rotas da aplicação você pode usar o cliente HTTP [Postman](https://www.postman.com/)

### ⚙ Setup

Passo a passo para clonar e executar a aplicação na sua máquina:

```bash
# Clone este repositório
$ git clone https://github.com/DanielEgiidio/in-orbit-backend.git

# Instale as dependências
$ npm install

# Crie o arquivo '.env' e preencha as variáveis conforme o arquivo '.env.example'

# Execute as migrations para criar as tabelas necessários no banco
$ npx drizzle migrate

# Mantenha o seu container do docker local ativo
$ docker compose up -d

# Execute a aplicação em modo de desenvolvimento
$ npm run dev

# A aplicação inciará na porta que você configurou no arquivo '.env'
```

## 🛠 Technologies

As seguintes principais ferramentas foram usadas na construção do projeto:

- **[TypeScript](https://www.typescriptlang.org/)**
- **[Node](https://nodejs.org/pt)**
- **[Fastify](https://fastify.dev/)**
- **[DrizzleORM](https://orm.drizzle.team/)**
- **[Zod](https://zod.dev/)**
- **[Docker](https://hub.docker.com/r/bitnami/postgresql)**
- **[PostegreSQL](https://www.postgresql.org/)**
- **[DayJS](https://day.js.org/)**

> Para mais detalhes das dependências gerais da aplicação veja o arquivo [package.json](./package.json)

## 📝 License

Este projeto está sob a licença MIT. Consulte o arquivo [LICENSE](./LICENSE) para mais informações