Skip to content

mgh99/To-do-list

Repository files navigation

😈 Ruleta de Tareas — Task Roulette

A to-do list with a twist: you don't choose which task to do next — the wheel decides for you.


🎯 What is this?

Ruleta de Tareas is a web app (and also a desktop app!) that turns your boring to-do list into a spinning roulette wheel. Add your pending tasks, spin the wheel, and let fate pick one for you. And if you try to cancel... well, good luck with that. 😏


✨ Features

  • 🎡 Animated roulette wheel — colorful gradient sectors that spin and slow down naturally with a friction effect
  • Task management — add and delete tasks from the list
  • 🔐 User authentication — register and log in with email and password via Firebase
  • 💾 Persistent tasks — your tasks are saved in localStorage so they survive page refreshes
  • 🌍 Bilingual — switch between Spanish 🇪🇸 and English 🇬🇧 on the fly
  • 😈 Evil Cancel button — each time you try to cancel the roulette result, the Cancel button shrinks and the Accept button grows... until there's no escape

🛠️ Tech Stack

Layer Technology
Frontend HTML5, CSS3, Vanilla JavaScript (ES Modules)
Authentication Firebase Auth (email/password)
Storage Browser localStorage
Drawing Canvas API
Desktop version Python + Tkinter

🌐 Live demo

The app is deployed on Vercel — no setup needed, just open it in your browser:

🔗 https://to-do-list-37ob5g68q-marias-projects-b5a6cca6.vercel.app/


🚀 How to run it locally

Because the app uses ES Modules, you can't open index.html directly by double-clicking it. You need a local server:

# Option 1 — with Node.js
npx serve .

# Option 2 — with Python
python -m http.server

Then open http://localhost:3000 (or the port shown) in your browser.


🐍 Desktop version

There's also a standalone Python version that works without a browser or internet connection:

python ruleta_tareas_giratoria.py

Requires Python with tkinter (included in standard CPython on Windows). No extra installs needed.


🎮 How to play

  1. Add your tasks using the input field and the Añadir / Add button
  2. Click Jugar / Play to spin the wheel
  3. Watch the wheel spin and land on a task
  4. Click Aceptar / Accept to delete that task (it's done! ✅)
  5. Or try to click Cancelar / Cancel... if you dare 😈

🌍 Language support

Use the ES / EN buttons in the top bar to switch the interface language at any time. Everything updates instantly — buttons, placeholders, messages, and results.


📁 Project structure

to-do_list/
├── index.html          # Main app UI
├── script.js           # App logic, roulette, auth, translations
├── style.css           # All styles and animations
├── firebase.js         # Firebase initialization
├── auth.js             # Login, signup, logout functions
└── ruleta_tareas_giratoria.py  # Standalone Python/Tkinter version

About

To do list with a rulette

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors