{"id":14989710,"url":"https://github.com/isaque-s-0liveira/trybesmith-be","last_synced_at":"2026-03-07T23:01:56.871Z","repository":{"id":256082737,"uuid":"728422231","full_name":"isaque-S-0liveira/trybesmith-BE","owner":"isaque-S-0liveira","description":"TrybeSmith  consiste no desenvolvimento de uma API para gerenciar uma loja de itens medievais, utilizando TypeScript e o ORM Sequelize.","archived":false,"fork":false,"pushed_at":"2024-09-08T22:23:52.000Z","size":513,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-14T01:41:19.097Z","etag":null,"topics":["chai","express","jwt-jsonwebtoken","mocha","mysql","sequelize","sinon","typescript"],"latest_commit_sha":null,"homepage":"","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/isaque-S-0liveira.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-06T22:55:35.000Z","updated_at":"2024-09-08T22:29:15.000Z","dependencies_parsed_at":"2024-09-08T22:28:56.387Z","dependency_job_id":"249e9034-cf8d-45ca-92ca-048f8344b9ed","html_url":"https://github.com/isaque-S-0liveira/trybesmith-BE","commit_stats":null,"previous_names":["isaque-s-0liveira/trybesmith-be"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2Ftrybesmith-BE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2Ftrybesmith-BE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2Ftrybesmith-BE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2Ftrybesmith-BE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaque-S-0liveira","download_url":"https://codeload.github.com/isaque-S-0liveira/trybesmith-BE/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219849798,"owners_count":16556324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chai","express","jwt-jsonwebtoken","mocha","mysql","sequelize","sinon","typescript"],"created_at":"2024-09-24T14:18:48.162Z","updated_at":"2026-02-22T18:30:16.987Z","avatar_url":"https://github.com/isaque-S-0liveira.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TrybeSmith\n\n## Contexto\n\nO foco principal deste projeto é, com base nos ensinamentos da **Trybe**, desenvolver uma API para gerenciar uma loja de itens medievais, utilizando **TypeScript** e o ORM **Sequelize**. A aplicação foi construída com foco em operações de **CRUD** (Create, Read, Update, Delete) para produtos e pedidos, seguindo a arquitetura **MSC (Model-Service-Controller)**.\n\n\u003cdetails\u003e\n  \u003csummary\u003eO que é a Trybe?🤔\u003c/summary\u003e\n  A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e🎲 Diagrama Entidade Relacionamento\u003c/summary\u003e\n  \u003cdiv style=\"display:flex; justify-content:center;  align-items:center; width=\"100%\"\u003e\n  \u003cimg src=\"Preview/erTrybeSmith.png\" alt=\"page1\"/\u003e\n  \u003c/div\u003e\n\u003c/details\u003e\n\nAlgumas rotas da API requerem autenticação via **JWT (JSON Web Token)** para garantir a segurança e controle de acesso. Além disso, foram implementados testes automatizados para cobrir as funcionalidades das camadas **Service** e **Controller**, garantindo um alto nível de qualidade no código e corretude das operações.\n\nA API permite o cadastro de produtos, listagem de pedidos, login de usuários, e todas as operações são integradas ao banco de dados por meio do Sequelize, que facilita a comunicação com o **MySQL**. A lógica do sistema também garante que cada produto tenha um pedido único, reforçando o conceito de itens exclusivos e artesanais.\n\n### Funcionalidades Principais:\n- Cadastro de novos produtos no banco de dados.\n- Listagem de todos os produtos cadastrados.\n- Listagem de pedidos, incluindo os produtos associados a cada pedido.\n- Autenticação de usuários com **JWT** e validação de credenciais no banco de dados.\n\n---\n\n## Tecnologias Usadas\n\n- [Node.js](https://nodejs.org/) - Plataforma para execução do JavaScript no servidor.\n- [TypeScript](https://www.typescriptlang.org/) - Superset do JavaScript que adiciona tipagem estática ao código.\n- [Express](https://expressjs.com/) - Framework para construir APIs com Node.js.\n- [Sequelize](https://sequelize.org/) - ORM para interagir com o banco de dados MySQL de forma fácil e eficiente.\n- [MySQL](https://www.mysql.com/) - Banco de dados relacional utilizado para armazenar informações de produtos e pedidos.\n- [JWT (JSON Web Token)](https://jwt.io/) - Ferramenta para geração de tokens de autenticação.\n- [Mocha](https://mochajs.org/) - Framework de testes para JavaScript.\n- [Chai](https://www.chaijs.com/) - Biblioteca de asserções para testes, utilizada em conjunto com o Mocha.\n- [Sinon](https://sinonjs.org/) - Ferramenta para criação de mocks, stubs e spies em testes.\n\n\n## Entre em contato:\n\u003ca href=\"mailto:zazac3179@gmail.com\" target=\"_blank\"\u003e\n  \u003cimg align=\"center\" src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" alt=\"E-mail\" height=\"40\" width=\"auto\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/in/isaque-s-oliveira/\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg\" alt=\"isaque oliveira\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://wa.me/5574981510614\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/whatsapp.svg\" alt=\"WhatsApp\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Ftrybesmith-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaque-s-0liveira%2Ftrybesmith-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Ftrybesmith-be/lists"}