Giter VIP home page Giter VIP logo

pokedex-next-redux-saas-docker's Introduction

🧪 Frontend Test. 💚

🚧 Development 🚀🚧

Prerequisites

Before you need install follow tools in your machine: Git, Node.js, Docker. Beyond is good to has an editor for to work with the code like VSCode

Summary

1. Overview

A Pokédex is an electronic device used in the Pokémon franchise, which is a popular media franchise created by Nintendo, Game Freak, and Creatures. The franchise revolves around fictional creatures called "Pokémon," which humans, known as "trainers," catch and train to battle each other for sport.

The Pokédex serves as an encyclopedia or database that provides information about different species of Pokémon. It's a tool that trainers use to learn more about the characteristics, abilities, evolutions, habitats, and other details of various Pokémon species.

1.1. Stack

1.2. Auxiliary libs

2. 🔬 How To Run

2.1. Containers

# Clone this repository
$ git clone https://github.com/LucasJunio/pokedex

# Acces the project folder in your terminal/cmd
$ cd pokedex

# Build the image/container docker with Hot reloading / live reloading in development
$ docker-compose up -d --build

The aplication going to open in port:3000 - access http://localhost:3000

2.1.1 How to add a new library in containers

Add a new library inside your container running live reload it's very symple, need just two steps:

First:

Add your libraries and versions (preference LTS) inside the package.json

Second:

At the very least you need to stop the current container from the pokedex application, to release used port

# (Optional) Delete your container and image docker for optimization
$ docker stop container_name_to_exclude
$ docker rm container_name_to_exclude
$ docker rmi IMAGE_NAME_OR_ID

# (Optional) Or just delete all containers and images
$ docker rm -f $(docker ps -aq)
$ docker rmi $(docker images -q)

# (Mandatory) Build the image/container docker with Hot reloading / live reloading in development
$ docker-compose up -d --build

Result:

Add a new library

2.2. Local

Run the development server local with "yarn", "npm", "pnpm" or manager package your preference:

# Install dependencies
$ yarn install

# Run the project
$ yarn dev

The aplication going to open in port:3000 - access http://localhost:3000

3. How to create a new branch

Ever that's necessary to create a new branch feature, create by [main]branch, implement your development, merge this feature/branch to develop, when all it's ok, give a merge of this feature/branch to main[branch].

Let's go to follow the git flow patterns to create a new branch, to more info browse in link below to learn more how to implement in simple way.

Workflow gitflow: https://www.atlassian.com/br/git/tutorials/comparing-workflows/gitflow-workflow

# Example creating a new branch
$ git checkout -b feature/TASK-1

3.1. Commits

For commit your changes, you can follow the suggestion to use conventional commits [https://www.conventionalcommits.org/en/v1.0.0/] for to improve your commit descriptions and help the understand of the team. Exist a extension in vscode that can help you with this mission.

vscode extension id in .vscode/extensions.json:

"recommendations": ["vivaxy.vscode-conventional-commits"]

4. Software Architecture

Main folder tree and your goals

C:.

  • ├───.vscode - configuration settings specific to the Visual Studio Code (VS Code).
  • ├───app - entry point of your application, where you start your app.
  • ├───components - This is where you would put your reusable React components.
  • │ ├───base - Components that are used by all application
  • │ ├───common - General-purpose components that can be reused across containers and different parts of the application.
  • │ ├───containers - Components that combine smaller components to create more complex UI elements or pages.
  • ├───constants - storing and managing constant values, such as configuration settings.
  • ├───public - Static assets like images, fonts, or other resources that are publicly accessible.
  • │ ├───.docs - This folder may contain project-related documentation.
  • ├───store - This folder could house the state management.
  • ├───types - TypeScript type definitions that help ensure type safety in your codebase.
  • └───utils - This folder can contain utilities or helper tools.

5. Recommended Extensions

You can check out a list of recommended extensions in the file .vscode/extensions.json, or by opening the "Extensions" Tab in the "Recommended" pane.


🦸 Author


Lucas Junio
🚀

📝 Licence

Made with ❤️ by Lucas Junio 👋🏽 Contact

pokedex-next-redux-saas-docker's People

Contributors

lucasjunio avatar rafael-pereira12 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.