https://github.com/kauecdev/in.orbit
App para gerenciamento de metas
https://github.com/kauecdev/in.orbit
axios drizzle-orm fastify nodejs postgresql radix-ui react react-query typescript
Last synced: 5 months ago
JSON representation
App para gerenciamento de metas
- Host: GitHub
- URL: https://github.com/kauecdev/in.orbit
- Owner: kauecdev
- Created: 2024-09-12T01:20:24.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-11-01T14:02:04.000Z (9 months ago)
- Last Synced: 2025-01-31T02:03:50.315Z (5 months ago)
- Topics: axios, drizzle-orm, fastify, nodejs, postgresql, radix-ui, react, react-query, typescript
- Language: TypeScript
- Homepage:
- Size: 215 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

Aplicação web full-stack para gerenciamento de metas pessoais desenvolvido durante a NLW Pocket Javascript (evento promovido pela [Rocketseat](https://www.rocketseat.com.br/))## Server
O back-end da aplicação foi construído em Typescript + Node.js, utilizando PostgreSQL como banco de dados. Para mapeamento das entidades e gerenciamento de migrations foi utilizado o Drizzle ORM.
Para uma melhor organização das consultas ao banco de dados, foi utilizado o conceito de Common Table Expressions (CTE) para buscar informações de resumo das metas de um usuário.## Web
Já no front-end da aplicação, foi utilizado Typescript + React.js. Para estilização da aplicação foi utilizada a biblioteca TailwindCSS. Boa parte dos componentes usam de componentes prontos da biblioteca RadixUI,
permitindo ter componentes de fácil estilização e acessibilidade melhorada. Além disso, foi utilizado React Query para consultas ao back-end e React Hook Forms para gerenciamento do formulário de criação de metas.## Instalação
Para iniciar a aplicação, você precisará ter instalado:
- [Node.js](https://nodejs.org/en/download/package-manager)
- [Docker](https://docs.docker.com/engine/install/)Agora basta clonar este repositório e instalar suas dependências. Para isso acesse cada uma das pastas (`server` e `web`) e rode o comando `npm install` ou simplesmente `npm i`.
Dentro da pasta `server`, também será necessário criar um arquivo que guardará as variáveis ambiente. Para isso, crie um arquivo chamado `.env`, insira as seguintes propriedades e preencha o conteúdo delas
conforme preferir:```bash
DATABASE_URL=
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
```Para subir o banco, você precisará estar no diretório `server` e utilizar o comando `docker compose up -d`. Dessa forma, o Docker irá baixar a imagem do banco e executá-la em background, graças à flag `-d`.
Depois disso, basta rodar o comando `npm run dev` nas pastas `server` e `web` e a aplicação estará pronta para ser utilizada.
## Screenshots


