Giter VIP home page Giter VIP logo

raphaelalmeidamartins / trybe-futebol-clube Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 934 KB

RESTful API project developed at the end of Unit 28 (Back-end Development Module) of the Trybe's Web Development course

Dockerfile 0.12% JavaScript 30.91% TypeScript 58.47% Shell 1.08% HTML 0.99% CSS 8.43%
docker docker-compose expressjs mocha-chai-sinon mocha-testing mysql-database nodejs object-oriented-programming sequelizejs solid-principles

trybe-futebol-clube's Introduction

⚽ Trybe Futebol Clube (Soccer Club) ⚽

cover

📃 About/Sobre

🇺🇸 English

Node.js, Express.js, TypeScript, OOP (Object-Oriented Programming) and SOLID project developed by Raphael Martins at the end of Unit 28 (Back-end Development Module) of Trybe's Web Development course. I was approved with 100% of the mandatory and optional requirements met.

We had to develop a RESTful API for a front-end application that was already developed. It's an application to check matches' data and the leaderboard of a soccer competition. It's possible to register and update matches. The authentication is handled with JSON Web Tokens. We also had to implement integration tests.

🇧🇷 Português

Projeto de Node.js, Express.js, TypeScript, POO (Programação Orientada a Objetos) e SOLID desenvolvido por Raphael Martins ao final do Bloco 28 (Módulo Desenvolvimento Back-end) do curso de Desenvolvimento Web da Trybe. Fui aprovado com 100% dos requisitos obrigatórios e opcionais atingidos.

Tivemos que desenvolver uma API RESTful para uma aplicação front-end que já estava implementada. É uma aplicação para conferir dados de partidas e a classificação geral de timess em um campeonato de futebol. É possível cadastrar e atualizar partidas. A autenticação é feita com JSON Web Token. Também tivemos que implementar testes de integração.

👨‍💻 Developed Skills/Habilidades Desenvolvidas

🇺🇸 English
  • Create classes
  • Define types and interfaces
  • Use OOP concepts such as Abstraction, Encapsulation, Inheritance, Composition and Polymorfism
  • Use SOLID principles, such as Single Responsability, Open/Closed, Dependency Inversion, Substitution (Liskov) and Interface Segregation
  • Develop a Express.js application with TypeScript
  • Use Sequelize.js with TypeScript
  • Create a RESTful API
  • Implement integration tests

🇧🇷 Português
  • Criar classes
  • Definir types e interfaces
  • Utilizar conceitos de POO como: Abstração, Encapsulamento, Herança, Composição e Polimorfismo
  • Utilizar princípios de SOLID como: Responsabilidade Única, Aberto/Fechado, Inversão de dependência, Substituição de Liskov e Segragação de Interfaces
  • Desenvolver uma aplicação Express.js com TypeScript
  • Utilizar o Sequelize.js com TypeScript
  • Criar uma API RESTful
  • Implementar testes de integração

🛠️ Tools/Ferramentas

  • TypeScript
  • Node.js
  • Express.js
  • Sequelize.js
  • MySQL
  • React
  • Mocha.js
  • Chai.js
  • Sinon.js
  • Docker
  • OOP (Object-Oriented Programming)
  • SOLID

🛠️ Installation and execution/Instalação e execução

🇺🇸 English

To run this application you need to have Git, Docker, Node and Docker Compose installed on your machine. Docker Compose needs to be at 1.29 version or superior and Node needs to be at 16 version.

1 - Clone the repository and enter the project's folder

git clone [email protected]:raphaelalmeidamartins/trybe-futebol-clube.git && cd trybe-futebol-clube

2 - Run the containers with the following script

npm run compose:up

3 - Access the front-end application running on the 3000 port

http://localhost:3000

4 - Use one of the following credentials to login and test the app

Administrator

Regular user


🇧🇷 Português

Para rodar está aplicação é necessário ter Git, Docker, Node e o Docker Compose instalados no seu computador. O Docker Compose precisa estar na versão 1.29 ou superior e o Node na versão 16.

1 - Clone o repositório e entre na pasta do projeto

git clone [email protected]:raphaelalmeidamartins/trybe-futebol-clube.git && cd trybe-futebol-clube

2 - Execute os containers

npm run compose:up

3 - Acesse a aplicação front-end na port 3000

http://localhost:3000

4 - Utilize uma das credenciais abaixo para logar na aplicação e testar

Administrador

Usuário comum


🧪 Tests coverage/Cobertura de testes

🇺🇸 English

Run the following command in the root directory of the project to check the tests coverage:

cd ./app/backend/ && npm install && npm run test:coverage

Note: right now the tests cover about 99% of all the lines. I'll still implement a few more tests to reach 100% coverage.


🇧🇷 Português

Execute o comando abaixo no diretório raiz do projeto para verificar a cobertura de testes.

cd ./app/backend/ && npm install && npm run test:coverage

Observação: no momento os testes cobrem cerca de 99% das linhas. Ainda implementarei mais alguns testes para atingir 100% de cobertura.

🏆 Grade/Nota

My grade of the project - Minha nota no projeto

trybe-futebol-clube's People

Contributors

raphaelalmeidamartins avatar trybe-tech-ops avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.