Code Monkey home page Code Monkey logo

diballesteros / nuzlocke Goto Github PK

View Code? Open in Web Editor NEW
18.0 1.0 7.0 8.19 MB

Nuzlocke Tracker - online app to record and track your pokémon nuzlocke progress and encounters. The tracker supports all pokemon up to generation 8.

Home Page: https://nuzlocke.netlify.app

License: BSD 3-Clause "New" or "Revised" License

HTML 0.19% SCSS 4.23% TypeScript 85.35% CSS 10.23%
pokemon nuzlocke react typescript webapp game nuzlocketracker cypress zustand nuzlocke-tracker

nuzlocke's Introduction

Nuzlocke Tracker

(https://github.com/diballesteros/nuzlocke/actions/workflows/codeql-analysis.yml) Nuzlocke Tracker Netlify Status GitHub release Issues codecov

Table of Contents

About

https://nuzlocke.netlify.app

Web app to track and record encounters in any Pokémon game. Including custom games!

All Pokémon included up to generation 8.

Built with ReactJS, Create-React-App, Zustand and Semantic UI.

🚀 Features

  • Record your encounters with detailed information, including: pokemon, level, gender, ability, nature, item and more!
  • Accurate encounter tables for every location
  • Level caps for all base games - customizable!
  • Add and edit custom games and custom encounter locations
  • Search and filter through all encounters - including only missing encounters
  • Export, import and share Nuzlocke runs with others!
  • Fully integrated damage calculator
  • Share, add and edit custom rules and rulesets - including smart rules that alert if they're broken
  • View overview and summary of your nuzlocke run
  • Dupes clause alerts
  • Works offline
  • Nickname randomizer
  • Details on all gym and Elite Four pokémon for all base games
  • Download a summary image
  • Build an ideal team with the Team Builder!
  • Quick access to details on type effectiveness and natures
  • Encounter suggestions
  • Soul Link integrations

✨ How it works

  • Adding Encounter:

til

  • Editing Encounter:

til

  • Badges:

til

  • Team Builder:

til

  • Damage Calculator:

Imgur Image

  • Summary Image:

Imgur Image

Getting started

🔑 Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • git
  • npm
    npm install npm@latest -g
  • yarn
    npm install --global yarn

💻 Installation

  1. Clone the repo
    git clone https://github.com/diballesteros/nuzlocke.git
    cd nuzlocke
  2. Install NPM packages
    yarn
  3. Run the project locally
    yarn start

Running the tests

This project uses Cypress for testing. To run them:

yarn e2e

In the new window execute any of the *.spec.ts files.

This will run the unit tests:

yarn test

Roadmap

See the open issues for a list of proposed features (and known issues).

Deployment

The project automatically deploys to Netlify when changes are detected on the master branch.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the BSD-3-Clause License - see the LICENSE file for details

Acknowledgements

Legal

Pokémon © 2002-2021 Pokémon. © 1995-2021 Nintendo/Creatures Inc./GAME FREAK inc. TM, ® and Pokémon character names are trademarks of Nintendo.

Contact

Diego Ballesteros - @relatablecoder - [email protected]

nuzlocke's People

Contributors

diballesteros avatar imgbotapp avatar justlilith avatar ryomasumura1201 avatar yondiame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

nuzlocke's Issues

Run Summary Image

Is your feature request related to a problem? Please describe.
At a glance image generation of the entire nuzlocke run

Describe the solution you'd like
From the share button offer a different option for generated image

  • Should contain a section for each classification of pokemon
  • Should have a name input before generation to indicate title name and trainer name
  • Link to Pokemon types
  • Progressbar showing encounters and failed encounters

Alert when there are more than 6 pokemon per team

Is your feature request related to a problem? Please describe.
Alert when there are more than 6 pokemon per team

Describe the solution you'd like
In tracker alert user when theres is more than 6 pokémon assigned to "Team" role

Team Builder

Is your feature request related to a problem? Please describe.
Make a future "Team Builder" for ideal nuzlocke team building.

Describe the solution you'd like
PokeStats Team Builder

  • Include 6 slots
  • Add by FAB button
  • Drop down should have all pokemon
  • Customize movesets for the potential pokemon
  • Button that displays possible encounter locations
  • Placeholder when nothing is selected

Evolve Pokemon

Is your feature request related to a problem? Please describe.
Evolve Pokemon Button

Describe the solution you'd like
From the tracker have the option to evolve the pokemon. Select from an option of available pokemon to evolve to

Import pokemon files

Is your feature request related to a problem? Please describe.
Populate encounter fields and details from save files

Describe the solution you'd like
Import pokemon save files from emulators to map over the encounters

Missing Encounter toggle

Is your feature request related to a problem? Please describe.
Toggle to show only missing encounters

Floating action button

Is your feature request related to a problem? Please describe.
Replace search, share, edit add on the tracker with a floating action button on small screens to save space.

Describe the solution you'd like
Show a floating action button screens smaller than 500px

New Visual Design for Team Tab

Is your feature request related to a problem? Please describe.
New visual design for Team showing something akin to current team in handheld games

Badge details

Is your feature request related to a problem? Please describe.
Gym leader details in badge section

Describe the solution you'd like
Each badge button should have an expand details icon to show gym leader pokemon, levels and moves

Elite Four Rematch Details

Is your feature request related to a problem? Please describe.
Elite Four post game selector

Describe the solution you'd like
En elite four level cap details include a way to toggle rematch details

Expand options for reporting bugs

  • Include browser for desktop
  • Include which game is selected
  • Include iOS/Android for chrome
  • optional file inclusion of pokemonlist.json

Nickname generator

Is your feature request related to a problem? Please describe.
Generate a nickname from within the app

Describe the solution you'd like
Button on input that opens a modal to generate a nickname

Describe alternatives you've considered
Link to secondary app?

Additional context
Consume API
Limit requests

Cypress implementation

  1. Adding encounters
  2. Reseting encounters
  3. Adding custom game
  4. Deleting custom game
  5. enabling dupes
  6. enabling nickname
  7. export
  8. Editing encounter
  9. Editing level cap
  10. selecting level cap
  11. filter encounter

Rules Tab

Remove rules from option
Rules Tab:

  • Editable rules
  • Generic ruleset load

Firefox issues

Describe the bug

  • Dropdown has incorrect z-index
  • Inconsistent spacing between tracker inputs and label

To Reproduce
Open in firefox

Expected behavior
Dropdown should work correctly on FireFox
All inputs and labels should have consistent spacing between them

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Browser Firefox

Incorrect route 114 ruby encounters

Describe the bug
Incorrect encounter table for route 114 ruby Sapphire emerald

To Reproduce
Select ruby Sapphire and emerald. Check encounter table for route 114

Question mark section

Dropdown menu should contain a rules section to open up the modal with the rules for a nuzlocke

should include an about button to link towards credits for pokemon and link to github

Edit pokemon details

Is your feature request related to a problem? Please describe.
Button to edit pokemon details

  • Level
  • Met Level
  • Moves
  • Item
  • Gender
  • Nature
  • Ability
  • Notes

The details should show up in the pokestats tab popup as well.

Describe the solution you'd like
Pencil button on encounter card or from the pokestats tab that edits the pokemon details

Revamp Share

Is your feature request related to a problem? Please describe.
Revamp share button to share progress on social media

Describe the solution you'd like
Share button should give the option to share on reddit, twitter and facebook

Smart Rules

Is your feature request related to a problem? Please describe.
Add logic to custom rules that interact with the pokémon in the tracker.

Describe the solution you'd like
In the custom rules creation include options to interact with tracker.

Accessibility Fixes

With the change to semantic UI make more changes to take into account accessibility

Safari Crashes

Describe the bug
Application crashing

To Reproduce
Record encounters

Expected behavior
Application should not crash and should allow normal recording

Mobile(please complete the following information):

  • OS: iOS
  • Browser: safari

Edit Rule

Is your feature request related to a problem? Please describe.
Add inline edit option to rule

Describe the solution you'd like
Use a pencil icon button similar to game edit

Script to update inner store

In order for future updates to include adjustments include button/snackbar alert asking user if they want to update.

Update store and localstorage to reflect new patch.

Elite 4 Rematch Details for Fire Red and Leaf green

Describe the solution you'd like
Elite 4 radio button toggle for elite 4 rematch details (seen when selecting the question mark on badge/level cap) for Fire Red and Leaf Green

Additional context
Use exisiting data structure. An example can be seen in when selecting Heart Gold and Soul Silver and selecting the elite 4 level cap. The file with all the data is details.ts

type TDetail = {
content: PokemonDetail[];
name: string;
game: string;
rematch?: PokemonDetail[];
type: TDetailClassification;
};

Should be of type 'Rematch' filling in the PokemonDetail array with the rematch pokemon

Multilanguage structure

Is your feature request related to a problem? Please describe.
Multiple available languages

Describe the solution you'd like
A setting in options to switch between multiple languages

Scrolling issue

I can't consistently scroll down through the encounters, even after reloading the tab and exiting/reopening it. It stops right after Route 2.

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.