A simple ToDo app that shows a random cat image after completing a task.
Implemented using Laravel, Bootstrap.
Features:
- Shows random cat images when a task is marked as completed. 🐱
- Responsive UI, works fine on desktops and mobile.
- Swipe tasks on mobile instead of pressing the checkbox (hammer.js).
- Categories (no custom categories yet).
- Add task to a category or without any categories.
- Update, delete tasks.
For development you can use Homestead virtual machine (via Vagrant) instead of manually installing all needed tools (PHP, web server, NPM, ...).
- Install VirtualBox and Vagrant.
- Install PHP (just interpreter, server not needed) and Composer. Go to the project root, run
composer installandphp vendor/bin/homestead make(for Windowsvendor\\bin\\homestead make), this will generate configuration file, Homestead.yaml.
- Alternatively, you can follow Laravel Homestead documentation to install Homestead globally, it should not require PHP. https://laravel.com/docs/5.8/homestead
-
Add
cattodoandcattodo-testdatabases to Homestead.yaml.databases: - cattodo - cattodo-test -
Run
vagrant up, this should download, configure and launch the virtual machine. Follow Laravel Homestead and Vagrant documentation if it fails. On Windows you may need to run it from admin cmd to avoid issues with symlinks (e.g. when installing npm packages). -
Use
vagrant sshto connect into it. -
Run
make envto create.envfile and generateAPP_KEY. -
Run
make installfrom the project dir in Vagrant (cd codeby default) to install packages and run database migrations, build frontend. -
Add the IP and domain from Homestead.yaml to your hosts file, e.g.
192.168.10.10 cattodo.test. -
Open http://cattodo.test in your web browser.
See Makefile for other common tasks.
- Register an account (free), install Heroku CLI, login, etc. https://devcenter.heroku.com/articles/getting-started-with-php
heroku create
heroku buildpacks:add heroku/php
heroku buildpacks:add heroku/nodejs
heroku addons:create heroku-postgresql:hobby-dev
php artisan key:generate --show
heroku config:set APP_KEY = <key generated above>
heroku config:set LOG_CHANNEL=singleheroku config:set CAT_API_KEY=<key from https://thecatapi.com (free)>git push heroku masterheroku run php artisan db:seed --force

