Creative design and generation of myths using artificial intelligence.
This app will allow anyone to create unique stories and "worlds" based on elements from existing mythologies. After selecting the desired elements (like gods, heroes, cultures, geography) a story will be created using artificial intellegence. Additional features could include generation of images, memes, or items of "lore."
See CONTRIBUTING.md.
Working with this project is a good way to learn Ruby on Rails and AI LLMs (Large Language Models)!
These are the steps for setting up your development environment locally or using Docker.
You'll do your development work on your own forked copy of the project, so hit the 'clone' button in github.
-
Clone your fork:
git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
-
Add remote from original repository in your forked repository:
cd into/cloned/fork-repo git remote add upstream https://github.com/mattlindsey/mythographer.git git fetch upstream
-
Updating your fork frequently from original repo to keep it up to date
git pull upstream main
-
If you want to use Docker, skip the following steps and jump right to Docker Installation.
bundle install
The database used is postgreSQL. You need to have this installed and running on your local machine.
Run these commands;
bin/rails db:setup
bin/rails db:seed
Now you're ready to run the tests:
bundle exec rspec
export OPENAI_API_KEY=sk-key
export GOOGLE_PALM_API_KEY=key
bin/dev
You can now see the system working locally
If you get an error concerning Turbo or Redis, you may need to start Redis in the background
redis-server --daemonize yes
Before committing your code, ensure that it follows ruby and rails style standards
bundle exec rubocop -A
We recommend and follow the Ruby Style Guide
- Make sure you have docker installed on your machine in order to run this app using docker.
make setup
make up
make down
Show the status of the containers running the application (Helpful for troubleshooting docker containers)
make status
make migrate
make routes
make console
make bundle