This project is an automated service for buying and selling Turnips in the game Animal Crossing: New Horizons. The website acts as an auction house that automates finding buyers and sellers of Turnips for the "stalk" market.
See https://animalcrossing.fandom.com/wiki/White_turnip on what turnips are. But essentially they are items you buy at a given price and sell at a given price, think the "stalk" market.
- Ruby on Rails
- Docker & Docker Compose
- Sidekiq
- Yarn
- Sendgrid API
- PostgreSQL
All you need is docker. Once you have the containers running you can get everything sorted and running.
The docker containers
- Run
docker ps
in your console to see if docker is running correctly - Create an
.env
file. See ENV section below with ENV fields required in the field. If no.env
file is created, the docker run command will fail. - In your console in the projects main folder run
docker-compose build
to build the docker image. - Run
docker-compose run --service-ports animal-crossing-market bash
to start the docker container. This will execute bash inside of the container, allowing you to interact with the system inside the container. - Once inside the container you may need to call
yarn install --check-files
to install new yarn packages. If you do, you'll see an error in the next step to do so... - Once inside container (running bash). Call
rails db:create db:schema:load db:seed
. You might be able to do arails db:setup
but I haven't tested it. - Once the system is seeded, run
puma
to turn on the server and go tolocalhost:3000
in your browser to access the auction house. See theseed.rd
file for username and passwords for development users. - To get the jobs running and automating the auction house, run
bundle exec sidekiq
inside the container. This will run sidekiq in the background. You can access the webapp for sidekiq atlocalhost:3000/sidekiq
.
POSTGRES_PASSWORD=YOURSTOMAKEUP
SENDGRID_API_KEY=MUSTASKMEFORTHISIFYOUWOULDLIKETOTEST
DOMAIN= (development = localhost:3000)
- I want to BUY from Daisy on someone elses island
- I want to SELL to Tom Nook on someone elses island
- I want PEOPLE to BUY from Daisy
- I want PEOPLE to SELL to Tom Nook
In table type of listing the booleans are as follows for the previous sentences
Question | Hosting | Selling |
---|---|---|
1 | false | false |
2 | false | true |
3 | true | false |
4 | true | true |
Clear queue
Sidekiq.redis {|c| c.del('stat:processed') }
Sidekiq.redis {|c| c.del('stat:failed') }
Sidekiq::Queue.all.each(&:clear)
https://bootstrapmade.com/demo/Vesperr/ https://www.vecteezy.com/
Update Dodo code to be on host listing, not user accountMake dashboard half join listing half host listingsMake host listing show, index, create, update with updated front-endMake host listing show, index, create, update with updated front-endMake login ith updated front-endMake sign-up with updated front-endMake logged in users auto go to dashboardIcon on title bar thing- Create staging server