{"id":49923883,"url":"https://github.com/flplima/bossabox-vuttr-fullstack","last_synced_at":"2026-05-16T22:16:20.986Z","repository":{"id":201629690,"uuid":"291320915","full_name":"flplima/bossabox-vuttr-fullstack","owner":"flplima","description":"Desafio feito para Bossabox","archived":false,"fork":false,"pushed_at":"2020-09-12T22:47:51.000Z","size":3208,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-10-19T23:22:56.654Z","etag":null,"topics":["bossabox","docker","docker-compose","framer-motion","nestjs","nodejs","postgresql","react","reactjs","styled-components","typeorm","typescript","vuttr"],"latest_commit_sha":null,"homepage":"https://vuttr-bossabox.felipelima.xyz/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flplima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-08-29T17:50:50.000Z","updated_at":"2023-10-20T01:11:28.144Z","dependencies_parsed_at":null,"dependency_job_id":"d04b222e-f20e-4de3-801e-c8951e5cd3d6","html_url":"https://github.com/flplima/bossabox-vuttr-fullstack","commit_stats":null,"previous_names":["flplima/bossabox-vuttr-fullstack"],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/flplima/bossabox-vuttr-fullstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flplima%2Fbossabox-vuttr-fullstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flplima%2Fbossabox-vuttr-fullstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flplima%2Fbossabox-vuttr-fullstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flplima%2Fbossabox-vuttr-fullstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flplima","download_url":"https://codeload.github.com/flplima/bossabox-vuttr-fullstack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flplima%2Fbossabox-vuttr-fullstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33120675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"ssl_error","status_checked_at":"2026-05-16T18:38:29.903Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bossabox","docker","docker-compose","framer-motion","nestjs","nodejs","postgresql","react","reactjs","styled-components","typeorm","typescript","vuttr"],"created_at":"2026-05-16T22:16:19.232Z","updated_at":"2026-05-16T22:16:20.979Z","avatar_url":"https://github.com/flplima.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VUTTR\n\nVUTTR (Very Useful Tools to Remember) é um simples repositório para gerenciar ferramentas com seus respectivos nomes, links, descrições e tags.\n\n**Este projeto é um desafio feito para a BossaBox.**\n\n![vuttr](https://user-images.githubusercontent.com/20775579/92924820-e876ad80-f40f-11ea-845f-a14b66db24e9.gif)\n\n## Table of Contents\n\n- [Como acessar](#como-acessar)\n- [Instruções para executar localmente](#instruções-para-executar-localmente)\n- [Este repositório contém](#este-repositório-contém)\n  - [Front-end](#front-end)\n  - [Back-end](#back-end)\n- [Testes](#testes)\n- [ORM](#orm)\n- [Autor](#autor)\n\n## Como acessar\n\nEste projeto está publicado em ambiente de produção na AWS e você pode acessá-lo pelo link abaixo:\n\nhttps://vuttr-bossabox.felipelima.xyz/\n\n## Instruções para executar localmente\n\nEste repositório é um **monorepo** contendo o **Back-end** e o **Front-end** do VUTTR, tudo conteinerizado no Docker, inclusive o banco de dados.\n\nPara executá-lo localmente tudo o que você precisa fazer é clonar este repositório, instalar as dependências com o yarn e iniciar o ambiente com o Docker Compose. Basta executar os comandos abaixo:\n\n```bash\ngit clone https://github.com/flplima/bossabox-vuttr-fullstack\ncd bossabox-vuttr-fullstack\nyarn install\ndocker-compose up\n```\n\nAo executar o `docker-compose up`, automaticamente serão montados um container para o banco de dados Postgres, um container para o Back-end (NestJS) e um para o front-end (React). A criação do banco de dados e as migrações serão executadas automaticamente também.\n\nO Back-end estará na porta 3000, o Front-end na porta 3001 e o banco de dados na porta 5432.\n\nDepois do ambiente ser iniciado, acesse um dos endereços abaixo no seu navegador:\n\nFront-end (React): http://localhost:3001/\n\nBack-end (API docs): http://localhost:3000/\n\n## Este repositório contém\n\n### Front-end\n\n- **React + Typescript**\n- **UseSWR** e **Axios** para comunicação com a API REST\n- **Styled Components** para estilização, de acordo com os wireframes e style guide da BossaBox\n- **Redux** para gerenciamento de estado global\n- **React Hook Form** para os formulários\n- **Framer Motion** para animações\n\n### Back-end\n\n- **NestJs + Typescript**\n- **TypeORM + PostgreSQL** para persistência dos dados\n- **JWT** para tokens de autenticação\n- **Jest + Supertest** para testes automatizados\n- **Swagger (OpenAPI)** para documentação da API\n- **Sentry** para monitoramento de erros\n\n## Testes\n\nNo diretório **server** você pode executar os testes automatizados com os comandos abaixo:\n\n```bash\n# entre no diretório server\ncd server\n\n# executa os testes unitários para cada service\nyarn test\n\n# executa os testes e2e para cada rota, com mock dos services\nyarn test:e2e\n```\n\n## ORM\n\nNo diretório **server** você pode usar a [CLI do TypeORM](https://github.com/typeorm/typeorm/blob/master/docs/using-cli.md) para manutenção do banco de dados. Antes, é necessário que você tenha iniciado o ambiente com o docker-compose para que a CLI possa identificar o banco de dados corretamente.\n\n```bash\n# entre no diretório server\ncd server\n\n# (exemplo) gerando uma nova migration\nyarn typeorm migration:generate -n MyMigration\n```\n\n## Autor\n\nMeu nome é **Felipe Lima** e você pode entrar em contato comigo pelo meu [LinkedIn](https://www.linkedin.com/in/felipelimadasilva/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflplima%2Fbossabox-vuttr-fullstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflplima%2Fbossabox-vuttr-fullstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflplima%2Fbossabox-vuttr-fullstack/lists"}