Giter VIP home page Giter VIP logo

imvictorm / trybe-football-club Goto Github PK

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

Informative website about football ⚽

Shell 1.69% Dockerfile 0.28% JavaScript 42.66% TypeScript 42.53% HTML 1.34% CSS 11.50%
api-rest crud-application docker docker-compose express insomnia integration-testing joi-validation jwt-authentication mocha-chai-sinon mysql nodets oop-principles solid-principles typescript

trybe-football-club's Introduction

Trybe Football Club (TFC) ⚽

Project Context 💡

This project is an informative website about football matches and classifications. @Trybe developed the front end for this project using React.

As the back-end developer, I built an API using Typescript, Node.js, express, and Sequelize and integrated it with the front end using Docker and docker-compose. The API allows users to add new matches and update existing ones by consuming a database.

To ensure security and prevent unauthorized access, users must log in to obtain a token to add a match. The login system uses JWT authentication and verifies user credentials against a user database.

Acquired Knowledge 📖

In this project, I was able to:

  • Build and API using the Model-Service-Controller (MSC) architecture;
  • Build a CRUD with TypeScript, using Sequelize ORM;
  • Use OOP and SOLID concepts;
  • Create and associate tables using Sequelize Models and Migrations;
  • Use Docker to integrate front-end with back-end;
  • Write integration tests;
  • Write MySQL raw queries.

Back-End Main Technologies 🧰

Development

TypeScript Express Sequelize Node.JS MySQL JWT Joi Docker Insomnia
typescript express sequelize nodejs mysql jwt joi docker insomnia

Test

Mocha Chai Sinon
mocha-js chai-js sinon-js

Running the application ⚙️

You must have node, docker, and docker-compose installed

  1. Clone the repository and enter it
git clone [email protected]:ImVictorM/Trybe-Football-Club.git && cd Trybe-Football-Club
  1. Get the containers running
npm run compose:up

It can take a while for the application to be up.
The front end will be running on http://localhost:3000 (PORT 3000).
The back end will be running on http://localhost:3001 (PORT 3001).

Endpoints 🌐

Click here to export automatically:

Run in Insomnia}

Or just import the file insomniaRoutes.json inside your environment: https://docs.insomnia.rest/insomnia/import-export-data

trybe-football-club's People

Contributors

htless avatar imvictorm avatar jonathan-f-silva avatar trybe-tech-ops 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.