Skip to content

BennyKitchell/pokemon-jackpot

Repository files navigation

Pokemon Jackpot

It's Pokemon, it's a slot machine, it's silly fun

Screenshot 2024-09-03 at 3 29 25 PM

About The Project

Languages used: Go, React, Typescript

This project was created for a take-home assignment by Rockbot. It was an exercise to work on a larger project using Go.

(back to top)

Shortcuts

A few things I did in this project to save time that I would not do in a production environment

  • Hardcoded Passwords
  • Only adding tests for one area of the app
  • Releasing without having finished Containerizing everything and having Kubernetes setup
  • Not using pages and just putting everything into the App (in the client)
  • Minimal errors and eror descriptions
  • No logging or tracing

Getting Started

Prerequisites

Be sure to have the following installed:

  • Go 1.23.0

    • brew
        brew install go
  • Docker

    • brew
        brew install docker
  • Vite

    • brew
        brew install vite
  • Postgres

    • brew
        brew install postgresql

Installation & Usage

After cloning the package run the following to get started

  1. Clone the repo

    git clone https://github.com/BennyKitchell/pokemon-jackpot.git
  2. In the root of the project, run ./db-init.sh This will start Kafka, Redis, and the DB then populate the db with pokemon

  3.      cd user-service/cmd
         go run .

    This will start the user service

  4. In a new terminal window run

        cd pokemon-service/cmd
        go run .

    This will start the pokemon service

  5. In a new terminal window run

        cd client/
        npm install
        vite

    This will start the client at localhost:5173

  6. In a browser window visit localhost:5173

(back to top)

Roadmap

  • More tests with more in depth tests
  • Add Changelog
  • Dockerize all of the services
  • Better UI with notifications about new pokemon and user already exists warnings
  • Deploy with Kubernetes for better scaling

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

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

(back to top)

About

It's Pokemon, it's a slot machine, it's silly fun

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published