It's Pokemon, it's a slot machine, it's silly fun
![Screenshot 2024-09-03 at 3 29 25 PM](https://private-user-images.githubusercontent.com/24709732/364133234-ae50b345-21ef-4e9c-9103-49e8824a74fd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5OTE5NzksIm5iZiI6MTczOTk5MTY3OSwicGF0aCI6Ii8yNDcwOTczMi8zNjQxMzMyMzQtYWU1MGIzNDUtMjFlZi00ZTljLTkxMDMtNDllODgyNGE3NGZkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDE5MDExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI4ZWMwZjQ5YjEwNjMxOTMwMWZhZmE1ZGJkYWU4MTU2YTE4YmE3NzZkYzJiOGZkYTE4Zjg3NGYwMGI3ZWIxODEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.4MkPmNyvk3jcgVkqaPFframrnqRaSHsFNm4GX5QxKwQ)
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.
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
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
After cloning the package run the following to get started
-
Clone the repo
git clone https://github.com/BennyKitchell/pokemon-jackpot.git
-
In the root of the project, run
./db-init.sh
This will start Kafka, Redis, and the DB then populate the db with pokemon -
cd user-service/cmd go run .
This will start the user service
-
In a new terminal window run
cd pokemon-service/cmd go run .
This will start the pokemon service
-
In a new terminal window run
cd client/ npm install vite
This will start the client at localhost:5173
-
In a browser window visit
localhost:5173
- 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
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.