Git Product home page Git Product logo

justintimez / pokehub Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 592 KB

Basic fullstack website to practice creating and consuming APIs and using the response on frontend. All communication between frontend and backend is done through the use of Axios to Slim4 endpoints. MySQL, PHP (Slim4), Vanilla JS, Bootstrap5

PHP 41.98% HTML 18.33% CSS 10.54% JavaScript 29.15%
axios-restful bootstrap5 html-css-javascript javascript pokemon slim4-framework mysql phpmyadmin prepared-statements

pokehub's Introduction

PokeHub

This website is a basic fullstack web app with the theme of Pokemon! I've tried to incorporate the feel of old Pokemon GBA game aesthetics. There is obviously a lot to improve on.

The idea was to create a sort of Pokedex that a user can visit to review stat information on specific Pokemon. Adding functionality in the form of a favoriting system that allows the user to add any Pokemon to their favorites, and have quick access to viewing that information from their account page instead of searching for the Pokemon again.

Stack used...

  • Backend:
    • MySQL
    • PHP - Slim4 Framework for API route endpoints
  • Frontend:
    • Vanilla JavaScript
    • Bootstrap5
    • HTML & CSS

Description of App

The main focus of building this app was to get practice and experience creating and consuming APIs and using the response on frontend. All communication between frontend and backend is done through the use of Axios to Slim4 endpoints. From there, DAO namespaces and model classes were created in PHP in order to facilitate the connection to the MySQL database and interact with the respective tables.

  • Login/Register modal for auth (GET/POST, with LocalStorage used for userID and LoggedIn status)
  • Fetch all Pokemon / Filter them from the database when landing on the homepage (GET)
  • Fetch individual Pokemon stats from the database when viewing details (GET)
  • Add/Remove Pokemon from user favorites using API endpoints (GET/POST & stateful)

I am still busy/wanting to implement:

  • Pagination - this is in progress, and is isolated - does not break the core functionality of the app.
  • Filtering options:
    • Filter by type (Fire, Grass, Normal, Flying etc...) - Completed!
    • Filter by Legendary status - Completed!
    • Search capabilities - search result by typing the Pokemon name
  • Intentionally left out some Pokemon - the focus was on Gen 1 Pokemon only. I would like to build out functionality that allows the user to add any missing pokemon to the DEX!

Project Setup

  • Please find the export of the database in the folder path backend/src/config/pokemon_app.sql
  • Import the database so that you may use it with your AMP software and PHP MyAdmin
  • In order for the backend to work properly, please set your AMP software Document Root path to \PokeHub\backend\public so that the Slim App can be fired
  • Launch index.html with a live server of your choice to get started!

If you want to test the login feature, please use these credentials: [email protected] | gqGAw6vwLyGWAjV
Alternatively, register a new account!
You now have access to look for and add Pokemon to your favorites, and to view their indiviual stats

pokehub's People

Contributors

justintimez avatar

Watchers

 avatar  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.