A simple web application to manage shopping list. It is built with Rails8 and Hotwire and Tailwind CSS.
- Sign up and sign in with Google account
- Managing items on shopping list
- Updating the completion status of items
- Dark mode support
- Multiple language support
- API for adding items:
POST /items
- Shopping List Android: An Android client for Shopping List
- Shopping List CLI: A command line interface for Shopping List
- Ruby 3.3
- Rails 8.0 beta
- Turbo (turbo-rails)
- Propshaft
- Tailwind CSS (tailwindcss-rails)
- SQLite
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Google OAuth Client
- Ruby or Docker
Copy .env.sample to create .env, and set the client ID and secret key for Google OAuth client.
cp .env.sample .env
Then, execute the followings to launch the application.
./bin/setup
./bin/dev
Alternatively, you can launch the application in a Docker container.
docker compose build
docker compose run app bin/setup
docker compose up -d
First, refer to the above and launch the application in a Docker container.
Runnning unit tests:
docker compose exec app bin/rails test
Running system tests:
docker compose exec app bin/rails test:system
Running all tests:
docker compose exec app bin/rails test:all
Copy .kamal/envs.sample
to create .kamal/envs
, and set the environment variables for production.
Load the environment variables from .kamal/envs
file.
source .kamal/envs
Run kamal to deploy.
kamal setup
This project is licensed under the MIT License - see the LICENSE file for details