/pokedex

An incredible Pokedex, to know more about the pokemon world.

Primary LanguageTypeScript

Pokedex logo

Description   |    Requirements   |    Technologies   |    Layout   |    Usage   |    Demonstration


License Repo size Top lang Stars repo Forks repo Pull requests Last commit

Report bug · Request feature


Description

An incredible pokedex, for you to delve into the pokemon universe and even choose your favorite pokemons and add them to your profile!

Project developed in 5 days of a lot of effort and dedication, the first time I create an api with jwt authentication and web with user login by cookie. It was a big challenge for me, and for sure he will still have many releases.

For the development of this project, a flowchart was created as application documentation on Whimsical.

Requirements

Technologies

Backend (Api)

  • Nodejs
  • Typescript
  • Express
  • Firestore
  • Jwt authentication
  • Swagger
  • Eslint
    • Airbnb-config with another pessoal rules
    • Import helpers plugin
  • Prettier

Front End

  • NextJs
  • Typescript
  • StyledComponents
  • Firebase (Social authentication)
  • Nookies
  • Eslint
    • Airbnb-config with another pessoal rules
    • Import helpers plugin
  • Prettier
  • Commitizen

Layout

You can view the project layout via this link.

Usage

You can clone it on your pc using the command:

git clone https://github.com/Lissone/pokedex.git
cd pokedex

Need to add environment variables in both projects:

# .\packages\web\.env.local

# FIREBASE
NEXT_PUBLIC_API_KEY=
NEXT_PUBLIC_AUTH_DOMAIN=
NEXT_PUBLIC_DATABASE_URL=
NEXT_PUBLIC_PROJECT_ID=
NEXT_PUBLIC_STORAGE_BUCKET=
NEXT_PUBLIC_MESSAGING_SENDER_ID=
NEXT_PUBLIC_APP_ID=

# DEFAULT
NEXT_PUBLIC_BASE_URL_API=http://localhost:5000/api/v1
NEXT_PUBLIC_SECRET_KEY=supersecret
# .\packages\api\.env

# FIREBASE
API_KEY=
AUTH_DOMAIN=
PROJECT_ID=
STORAGE_BUCKET=
MESSAGING_SENDER_ID=
APP_ID=

# POKEAPI
BASE_URL_API=https://pokeapi.co/api/v2

# DEFAULT
PORT=5000
SECRET_KEY=supersecret

If you have Docker, and want to run the container, use the command:

# Build the project container
docker-compose build
# Up container
docker-compose up

Install dependencies using:

yarn
#or
npm install

Run api:

cd .\packages\api\
yarn dev
#or
npm run dev

Run web:

cd .\packages\web\
yarn dev
#or
npm run dev

Demonstration

Demo Pokedex

License

Distributed under the MIT License. See LICENSE for more information.

Made with ❤️ by Lissone