Collab is a real-time collaborative drawing application designed for creative sessions between you and your loved ones, accessible from any device. The main purpose is to enable drawing together with your daughter from different devices, making creativity a shared experience.
- Real-time collaborative drawing
- Multi-device support
- Modern Rails 8 stack with Hotwire (Turbo & Stimulus)
- Beautiful UI with Tailwind CSS
- Simple local setup and Dockerized deployment
- Ruby: 3.3.6
- Rails: 8.0.1
- Database: SQLite3 (default)
- Frontend: Hotwire (Turbo, Stimulus), Tailwind CSS
- Other: Docker, Kamal, Puma, Propshaft
- Ruby 3.3.6
- Node.js & Yarn
- SQLite3
- Bundler (
gem install bundler)
-
Clone the repository:
git clone <your-repo-url> cd collab
-
Install dependencies:
bundle install yarn install
-
Set up the database:
bin/rails db:setup
-
Start the development server:
bin/rails server # In another terminal, run: bin/rails tailwindcss:watchOr use foreman to run both:
foreman start -f Procfile.dev
-
Visit: http://localhost:3000
This project uses Rails' built-in test framework (Minitest):
bin/rails testA production-ready Dockerfile is included. To build and run:
docker build -t collab .
docker run -d -p 80:80 -e RAILS_MASTER_KEY=<your-master-key> --name collab collabDeployment with Kamal is supported. See .kamal/ for configuration.
- Database: Configured via
config/database.yml(default: SQLite3) - Environment Variables: Set
RAILS_MASTER_KEYfor production secrets
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Happy drawing! 🎨