Skip to content

TaskManager — гибкое приложение для управления задачами на Elixir 🚀 Создавайте, группируйте, фильтруйте и отслеживайте задачи с легкостью 📝📂🔍📊

License

Notifications You must be signed in to change notification settings

Adamanr/TaskManager

Repository files navigation

TaskManager 🖥

TaskManager — это гибкое приложение для управления задачами, разработанное на языке Elixir. 🚀 Оно помогает эффективно организовывать рабочие процессы, управлять сроками и контролировать выполнение задач. С помощью TaskManager вы можете:

  • Создавать задачи: Добавляйте задачи с указанием названия, описания, статуса, приоритета и дедлайна 📝
  • Группировать задачи: Организуйте задачи в группы для удобного управления проектами, командами или категориями 📂
  • Фильтровать и сортировать: Легко находите нужные задачи с помощью фильтров по статусу (например, "в процессе", "завершено"), приоритету (например, "высокий", "низкий") и дедлайну (например, "просроченные задачи") 🔍
  • Отслеживать прогресс: Просматривайте задачи, которые уже выполнены, и те, что требуют внимания 📊

 📸

Основные функции 🛠️

  • Создание задач: Добавление новых задач с указанием названия, описания, статуса, приоритета и дедлайна 📅
  • Объединение задач в группы: Добавление новых задач с указанием названия, описания, статуса, приоритета и дедлайна 🗂️
  • Редактирование задач: Обновление существующих задач ✏️
  • Удаление задач: Удаление задач из системы 🗑️
  • Фильтрация задач:
    • По статусу (например, "в процессе", "завершено") 🚦
    • По приоритету (например, "высокий", "низкий") ⚡
    • По дедлайну (например, "просроченные задачи") ⏳

Технологии 💻

  • Язык: Elixir 🧪
  • База данных: SQLite3 🗄️
  • Библиотеки:
    • ecto_sql {3.12} 📚
    • ecto_sqlite3 {0.18.0} 📚
    • bandit {1.6.2} 📚
    • ex_doc {0.30} 📚
    • credo {1.7} 📚
    • exsync {0.4.1} 📚
  • ORM: Ecto 🛠️
  • Шаблонизатор: EEx 📝

Установка и запуск 🚀

1. Установите зависимости

Убедитесь, что у вас установлены:

  • Elixir (версия 1.14 или выше) 🧪
  • npm (версия 11.0.0 или выше) 📦

2. Клонируйте репозиторий

git clone https://github.com/adamanr/TaskManager.git
cd task_manager

3. Установите зависимости проекта

mix deps.get

4. Настройте базу данных

Создайте базу данных и настройте подключение в файле config/config.exs:

config :task_manager, TaskManager.Repo,
  adapter: Ecto.Adapters.SQLite3,
  database: "./database.db", # Или другой любой удобный путь
  pool_size: 10

Создайте и выполните миграции:

mix ecto.create
mix ecto.migrate

5. Подтяните npm зависимости (Нужно для tailwind)

npm i

6. Запустите приложение

mix run --no-halt

7. В случае, если нужно будет пересобрать tailwind

npx tailwindcss -i ./assets/css/app.css -o ./priv/static/css/app.css --watch

Приложение будет доступно по адресу: http://localhost:4000. 🌐

Использование 📖

Структура проекта 🗂️

  • lib/task_manager — Основной код приложения
    • repo.exs — Настройки репозитория Ecto 🗄️
    • router.exs — Маршруты и обработчики запросов 🛣️
    • tasks.exs — Контекст для работы с задачами 📝
    • groups.exs — Контекст для работы с группами 📂
    • tasks_groups.exs — Контекст для связи задач с группами 🔗
    • templates.exs — Модуль для работы с html.eex шаблонами 📄
  • priv/repo/migrations — Миграции базы данных 🗄️
  • templates — Шаблоны для рендеринга HTML 📄
  • config — Конфигурационные файлы ⚙️

Лицензия 📜

Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.

Автор 👤

Как внести вклад 🤝

Данный проект является больше учебным пет-проектом нежели чем-то продуктовым, но его всегда можно улучшить. Если же у вас появились данные намерения, то

  1. Форкните репозиторий. 🍴
  2. Создайте ветку для вашей функции (git checkout -b feature/AmazingFeature) 🌿
  3. Зафиксируйте изменения (git commit -m 'Add some AmazingFeature') 💾
  4. Отправьте изменения в ваш форк (git push origin feature/AmazingFeature) 🚀
  5. Создайте Pull Request 📥

Если у вас есть вопросы или предложения, создайте Issue или свяжитесь со мной! 📩

About

TaskManager — гибкое приложение для управления задачами на Elixir 🚀 Создавайте, группируйте, фильтруйте и отслеживайте задачи с легкостью 📝📂🔍📊

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published