Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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 (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-12T11:06:32.000Z (3 months ago)
- Last Synced: 2024-09-27T20:05:23.477Z (3 months ago)
- Topics: axios, drizzle-orm, fastify, nodejs, postgresql, radix-ui, react, react-query, typescript
- Language: TypeScript
- Homepage:
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![image](https://github.com/user-attachments/assets/6ce3fd2e-d091-449f-b751-0470cc574815)
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
![image](https://github.com/user-attachments/assets/1fce5c26-c923-4e43-8673-75fadf1f5560)
![image](https://github.com/user-attachments/assets/14d11c8d-04d8-4dcc-8cbb-8475bb8d2894)
![image](https://github.com/user-attachments/assets/7d554a2e-3340-4f4e-8d95-2492017b0eed)