Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lissone/pokedex

An incredible Pokedex, to know more about the pokemon world.
https://github.com/lissone/pokedex

firebase-auth firebase-database jwt-authentication nextjs nodejs styled-components swagger typescript

Last synced: about 9 hours ago
JSON representation

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

Awesome Lists containing this project

README

        


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

- [Npm](https://www.npmjs.com/)
- [Yarn](https://yarnpkg.com/)
- [Nodejs](https://nodejs.org/en/)

## 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:

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

Need to add environment variables in both projects:

```bash
# .\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
```

```bash
# .\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:

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

Install dependencies using:

```bash
yarn
#or
npm install
```

Run api:

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

Run web:

```bash
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