Skip to content

nagieeb0/todoit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 Todoit

Todoit is a task management app built with Elixir, Phoenix LiveView, and Ash Framework. It demonstrates how to combine Ash Resources, UI frameworks, and advanced tooling to create a modern, modular, and scalable application.


🚀 Features

  • Task Management: Create, edit, delete, and toggle tasks.
  • 🧮 Calculations: Custom Ash calculations (status, overdue, completion state).
  • 🎨 Modern UI: Powered by DaisyUI, Mishka UI components, and Chelekom for consistent styling.
  • 📊 Cinder Tables: Interactive tables with sorting and row actions.
  • Live Updates: Built with Phoenix LiveView for reactive experiences.
  • 🛠️ Extensible: Structured around Ash Domain & Resource for easy future extensions.

🏗️ Tech Stack


⚙️ Setup

  1. Install dependencies

    mix setup
  2. Start the Phoenix server

    mix phx.server
    # or inside IEx
    iex -S mix phx.server
  3. Open your browser at http://localhost:4000.


🧪 Tests

Run all tests with:

mix test

Includes:

  • Unit tests for Ash resources/domains
  • LiveView tests for interactive UI
  • Integration tests for end-to-end flows

📂 Project Structure

lib/todoit
  ├── todo/        # Ash Domain (Tasks context)
  │   └── task.ex  # Task Resource (attributes, actions, validations, calculations)
  ├── web/         # Phoenix Web Layer
  │   ├── live/    # LiveViews (Form, Index)
  │   ├── components/ # UI Components (Alerts, Buttons, etc.)
  │   └── layouts/ # Application layouts

📖 Learn More


🏆 Credits

Built with ❤️ using:


📜 License

MIT License © 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages