Skip to content

JuzerShakir/tickity_tick

Repository files navigation

TickityTick

Stay Focused and Capture Tasks On-the-Go

🧐 Motivation

Do you ever get an important task idea while you're busy working, but reaching for your phone to add it feels disruptive?

TickityTick is a web app designed to help you stay focused and capture those fleeting ideas with minimal effort.

Here's how it works

  • ⭐ Accessible directly in your browser, eliminating the need to switch to your phone.
  • ⭐ Simple and easy-to-use interface minimizes disruption to your workflow.
  • ⭐ Perfect for capturing quick reminders or task ideas that pop into your head.
  • ⭐ Responsive design ensures a smooth experience on both desktop and mobile devices.

🐦‍🔥 Production

This application is hosted in the production. You can check it out here: TickityTick

👩‍💻 Development Setup

Open your terminal and clone this repo into a directory of your choice:

git clone git@github.com:JuzerShakir/tickity_tick.git

Opening the cloned repository

cd tickity_tick
code .

Note: Before moving forward make sure you have Ruby 3.3.1 version installed in your system. Or Download from here

Install all the dependencies

bundle install

Create database and tables

rails db:migrate

Setting up an Email

In order to test emails in development environment you need to install mailcatcher gem first.

gem install mailcatcher

Now to run the mailcatcher:

mailcatcher

This will output couple of URLs where it will listen for emails. You can visit anyone of the links to check if the emails.



💡 Contributing

If you have problems, please create a GitHub Issue.

Take a look at the Contributing document for instructions on setting up the repo on your machine, understanding the codebase, and creating a good pull request.

Thank you, contributors!

💪 Challenges I faced

  • Update UI (strike-through text, blur text color, hide edit icon) seamlessly when the user clicks on the checkmark ✅ of a task.
  • Show flash messages when updating & deleting the tasks.
  • Mailing in the development & production environments.

🏆 Takeaways

  • How to POST a JSON fetch request through the stimulus controller.
  • How to use the turbo-frame & turbo-stream to update UI for the tasks and show flash messages w/o reloading full page.
  • Create SQLite database in production.
  • How to create themes in the TailwindCSS.
  • Use devise to authenticate, confirm, recover and register users.

Versioning

TickityTick follows Semantic Versioning 2.0 as defined at https://semver.org.

License

This code is free to use under the terms of the MIT license.