Projeto Trybers and Dragons - Backend Trybe

Overview

Boas vindas ao repositório do projeto Trybers and Dragons!

Esse projeto foi desenvolvido durante o módulo de Backend na Trybe! #vqv

Aqui você vai encontrar os detalhes de como foi o desenvolvimento do projeto e quais foram os requisitos técnicos necessários para a entrega do desafio.


Habilidades desenvolvidas

Neste projeto, fui capaz de:

  • Utilizar TypeScript;
  • Utilizar os princípios do POO para criar uma estrutura de um jogo de RPG (Role-Playing Game);
  • Utilizar os princípios da arquitetura SOLID para organizar o projeto e deixá-lo com uma manutenibilidade muito maior.

POO

O paradigma da POO (Programação Orientada a Objetos) é um modelo de análise, projeto e programação baseado na aproximação entre o mundo real e o mundo virtual, através da criação e interação entre objetos, atributos, códigos, métodos, entre outros.


SOLID

O SOLID é um facilitador que torna o código mais coeso, além de mais fácil de manter, estender, adaptar e ajustar conforme alterações de escopo. Além disso, ele faz com que o código seja testável e de fácil entendimento, extensível e forneça o máximo de reaproveitamento. O termo SOLID é um acrônimo que representa cinco ideias, originadas pelo famoso Robert Cecil Martin, e significam:

  • Single Responsability Principle (Princípio da Responsabilidade Única);
  • Open/Closed Principle (Princípio Aberto/Fechado);
  • Liskov Substitution Principle (Princípio da substituição de Liskov);
  • Interface Segregation Principle (Princípio da Segregação de Interface);
  • Dependency Inversion Principle (Princípio da Inversão de Dependência).

Para mais detalhes, sugiro acessar documentações oficiais.


Funcionamento da aplicação

Para iniciar o projeto, é necessário possuir o Docker instalado.

Antes de iniciar o projeto, é necessário instalar as dependências dele com o comando

npm install

Para rodar o projeto, é necessário executar o comando

docker-compose up -d

na raíz do projeto. Isso fará com que os containers docker sejam orquestrados e a aplicação esteja disponível. Esse comando deve ser executado via terminal dentro do diretório onde está o arquivo docker-compose.yml.

O projeto trata-se de um desafio para consolidar o aprendizado de TypeScript junto com os princípios da Programação Orientada a Objetos (POO) e SOLID. Com isso, criamos um sistema de um jogo de RPG (Role-Playing Gaming) em que são criados jogadores (que têm raças e arquétipos), monstros, dragões e um sistema de luta PVP (Player vs Player - Jogador vs Jogador) e PVE (Player vs Environment - Jogador vs Ambiente).


Histórico de Commits

É possível verificar todo o histórico de commits do projeto, de modo a visualizar passo-a-passo como foi desenvolvido o meu raciocínio até a finalização do projeto.


Requisitos técnicos do desafio:

  • 1. Crie a classe Race.

  • 2. Crie classes que herdam de Race.

  • 3. Crie a interface Energy.

  • 4. Crie a classe Archetype.

  • 5. Crie classes que herdam de Archetype.

  • 6. Crie a interface Fighter.

  • 7. Crie a classe Character.

  • 8. Crie a interface SimpleFighter.

  • 9. Crie a classe Monster.

  • 10. Crie a classe PVP.

REQUISITOS BÔNUS

  • 11. Crie a classe PVE.

  • 12. Crie a classe Dragon.

  • 13. Crie objetos no arquivo index.

You might also like...

Projeto de uma API REST usando backend em Node.js

🚧 WIP - ToDo API - T17 - Resilia Projeto de educacional do curso de Web Dev Full Stack da Resilia Educação referente ao Módulo 04. Projeto realizado

Nov 30, 2022

Gatsby-Formik-contact-form-with-backend-panel - Full working contact form with backend GUI panel.

Gatsby minimal starter 🚀 Quick start Create a Gatsby site. Use the Gatsby CLI to create a new site, specifying the minimal starter. # create a new Ga

Jan 2, 2022

A type speed checking website which lets you check your typing speed and shows the real-tme leaderboards with mongodb as DB and express as backend

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Mar 27, 2022

The backend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

The backend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

My first full stack application with the concept of a personal wallet that allows you to create a personal account to keep track of your entire statement by adding incoming and outgoing transactions, as well as calculating the total balance and being able to edit and delete old transactions.

Jun 23, 2022

Minecraft 1.8.9 mod which steals the access token and more things from the targetted user and sends to a backend server for processing. Disclaimer: For educational purposes only.

Minecraft 1.8.9 mod which steals the access token and more things from the targetted user and sends to a backend server for processing. Disclaimer: For educational purposes only.

R.A.T Retrieve Access Token Check DxxxxY/TokenAuth to login into an MC account with a name, token and uuid combo. Features Grabs the username, uuid, t

Jan 9, 2023

API dot Open Sauced is NestJS and SupaBase powered OAS3 backend designed to remove client complexity and provide a structured graph of all @open-sauced integrations

API dot Open Sauced is NestJS and SupaBase powered OAS3 backend designed to remove client complexity and provide a structured graph of all @open-sauced integrations

🍕 Open Sauced Nest Supabase API 🍕 The path to your next Open Source contribution 📖 Prerequisites In order to run the project we need the following

Dec 18, 2022

The app's backend is written in Python (Flask) and for search it uses Elasticsearch. I used this app as candidate application for learning out how to build, run and deploy a multi-container environment (docker-compose).

foodtrucks-app-docker-compose The app's backend is written in Python (Flask) and for search it uses Elasticsearch. I used this app as candidate applic

Oct 24, 2022
Owner
Gabriel Kauer
Fullstack Jr. Dev | HTML | CSS | JavaScript | React | Redux | Docker | Node.js | Express | Sequelize
Gabriel Kauer
An implementation of the Dungeons & Dragons 5th Edition game system for Foundry Virtual Tabletop

An implementation of the Dungeons & Dragons 5th Edition game system for Foundry Virtual Tabletop.

Foundry Virtual Tabletop 103 Jan 2, 2023
Shopping Cart - Project of HTML, CSS, and JavaScript developed by me (Raphael Martins) at the end of the Unit 9 Module 1 of the Web Development course at Trybe

Project of HTML, CSS, and JavaScript developed by me (Raphael Martins) at the end of the Unit 9 Module 1 of the Web Development course at Trybe. I was approved with 100% of the mandatory and optional requirements met.

Raphael Martins 13 Nov 27, 2022
[Trybe] Project Mistery Letter

Bem vindo ao Mystery Letter Olá esse e mais um projeto feito por mim do curso da Trybe. Esse projeto e um gerador de texto que, ao colocar o texto na

Luiz Wanderson Dev 5 Oct 7, 2022
Re-uploading Trybe Wallet

?? Welcome to Trybe Wallet! Trybe Wallet is a project I did at Trybe, which is a programing school. In order to test my knowledge of Redux, I also lea

Nicole Calderari 4 Apr 12, 2022
Meme Generator - Project developed in the Trybe fundamentals module

Meme Generator Projeto desenvolvido no módulo de fundamentos Trybe Habilidades desenvolvidas Manipular o DOM com javaScript Requisitos Obrigatórios (t

Bel Albuquerque 3 Jul 22, 2022
Chrome Extension - Gets your Trybe Agenda from slack

Trybe Schedule Notification Extensão para navegadores base chromium para facilitar o dia a dia do estudante da Trybe. Sumário Instalação Uso FAQ Contr

Pedro Brito 13 Apr 8, 2022
Repositório do desafio técnico da para o processo seletivo da turma XP na Trybe

Desafio Backend de Yuri Carvalho Desafio técnico para o processo seletivo da XP Inc. realizado por Yuri Carvalho utilizando: Link da API: https://yuri

Yuri Carvalho Peixoto 5 Jul 25, 2022
Meu repositório com os exercícios realizados durante o curso de Desenvolvimento Web na Trybe.

Desenvolvimento Web Fullstack na Trybe Esse repositório contém todas as atividades de aprendizagem desenvolvidas por mim enquanto estudante da Trybe ?

Marlon Couto 6 Oct 29, 2022
Um timer feito para ser usado para cronometrar os intevralos entre as aulas da Trybe, desenvolvido em Electron

electron-quick-start Clone and run for a quick way to see Electron in action. This is a minimal Electron application based on the Quick Start Guide wi

VICTOR GABRIEL RODRIGUES LINS 2 Nov 27, 2022
Venni backend - The backend of the Venni client apps implementing the credit card payments, matching algorithms, bank transfers, trip rating system, and more.

Cloud Functions Description This repository contains the cloud functions used in the Firebase backend of the Venni apps. Local Development Setup For t

Abrantes 1 Jan 3, 2022