Your Energy — це веб-застосунок для любителів спорту, який допомагає знаходити різноманітні вправи для тренувань, фільтрувати їх за групами м'язів або обладнанням, переглядати детальну інформацію та зберігати улюблені вправи.
Проект реалізовано на ванільному JavaScript з використанням зборщика Vite.
Проект створено з використанням сучасних веб-технологій та бібліотек:
- Core: HTML5, CSS3 (PostCSS), JavaScript (ES6+).
- Build Tool: Vite - для швидкої розробки та оптимізованої збірки.
- HTTP Client: Axios - для взаємодії з backend API.
- Notifications: IziToast - для красивих спливаючих повідомлень.
- Styling: Normalize.css, кастомні стилі, адаптивна верстка (Mobile / Tablet / Desktop).
- Icons: SVG Spirtes / Inline SVG.
Проект використовує наступні пакети:
axios: ^1.12.2izitoast: ^1.4.0normalize.css: ^8.0.1vite-plugin-html-inject: ^1.1.2 (для розбиття HTML на паршали)
Структура файлів організована для зручності розробки та масштабування:
├── .github/ # Налаштування GitHub
├── node_modules/ # Залежності проекту
├── src/
│ ├── css/ # Стилі (CSS/PostCSS)
│ ├── img/ # Зображення та іконки
│ ├── js/ # JavaScript файли (логіка)
│ ├── partials/ # HTML компоненти (header, footer, modals)
│ └── public/ # Публічні асети
├── favorites.html # Сторінка обраних вправ
├── index.html # Головна сторінка
├── package.json # Налаштування проекту та скрипти
├── vite.config.js # Конфігурація Vite
└── README.md # Документація
-
Головна сторінка (Home)
-
Герой (Hero): Відображення мотиваційного блоку.
-
Цитата дня: Отримання надихаючої цитати з API (кешується в LocalStorage на добу).
-
Фільтри вправ
-
Картки вправ: Відображення списку вправ з пагінацією.
-
Модальне вікно вправи:
-
Додавання/видалення з "Favorites" (localStorage).
-
Можливість поставити оцінку (Rating) з валідацією email.
-
Сторінка обраного (Favorites) Перегляд вправ, збережених користувачем.
-
Адаптивна верстка карток.
-
Видалення вправ зі списку.
Всі дані зберігаються в браузері користувача (LocalStorage), тому список не зникає після перезавантаження.
Футер (Footer) Форма підписки на розсилку (валідація email: ^\w+(.\w+)?@[a-zA-Z_]+?.[a-zA-Z]{2,3}$).
Посилання на соціальні мережі.
Додаткові фічі (UI/UX) Loader: Спіннер під час завантаження асинхронних запитів.
Scroll Up: Кнопка для швидкого повернення нагору сторінки.
Mobile Menu: Бургер-меню для мобільних пристроїв.