Описание и детали проекта
Задача
Expense Tracker решает прикладную задачу: Простое веб-приложение для учета доходов и расходов. Добавляйте транзакции, просматривайте баланс, общие доходы/расходы и историю. Данные сохраняются локально в хранилище браузера.
Это учебный проект (завершён и используется), где отрабатывались конкретные паттерны и инструменты без лишней обвязки.
Кейс демонстрирует типовой цикл разработки: постановка → прототип → стабилизация → сопровождение.
Перед стартом зафиксировали критерии готовности: понятный первый экран, предсказуемые ошибки форм, возможность доработки без переписывания половины кодовой базы.
Решение
Сделана учебная, но полноценная реализация с акцентом на читаемость кода и воспроизводимую сборку.
Сценарии спроектированы так, чтобы основные действия укладывались в один–два экрана: меньше переключений, меньше ошибок при вводе. Навигация и подписи полей согласованы с привычными паттернами — пользователю не нужно «учить интерфейс».
Отдельное внимание — состояния загрузки и пустые списки: skeleton/spinner там, где данные приходят асинхронно, и понятные empty-state тексты вместо пустой таблицы.
Архитектура и стек
Инфраструктура и утилиты: JavaScript.
Распределение языков в репозитории: JavaScript (44.7%), CSS (34.8%), HTML (20.5%).
Слои разделены так, чтобы UI не знал деталей транспорта: адаптеры API/хранилища, доменные типы, компоненты представления. Это упрощает замену бэкенда и точечные UX-правки.
Ключевые функции
- JavaScript — использован в продуктовой логике: снижает количество самописного кода и ускоряет добавление новых экранов.
Дополнительно:
- Интеграция и использование JavaScript в продуктовой логике и интерфейсе.
- Валидация пользовательского ввода и понятные сообщения об ошибках.
- Адаптивная вёрстка для desktop и mobile.
Результат
Проект доведён до рабочего состояния: команда/пользователь получает стабильный инструмент вместо ручных таблиц и переписки. Сокращено время на типовые операции за счёт автоматизации в интерфейсе.
Исходный код открыт: https://github.com/astropsy999/Expense-tracker — можно оценить структуру модулей и стиль коммитов.
Учебный формат позволяет быстро повторить паттерн в своих pet-проектах без лишней инфраструктуры.
Что бы улучшил
Добавил бы e2e-тесты на критичные сценарии и вынес бы конфигурацию в отдельный слой для экспериментов. Для публичного demo — CI-сборку и preview-окружение на каждый pull request.
Частые вопросы
Для чего нужен проект «Expense Tracker»?
Простое веб-приложение для учета доходов и расходов. Добавляйте транзакции, просматривайте баланс, общие доходы/расходы и историю. Данные сохраняются локально в хранилище браузера.
Какой стек использован в «Expense Tracker»?
Основные технологии: JavaScript. Языки кодовой базы: JavaScript (44.7%), CSS (34.8%), HTML (20.5%).
Можно ли посмотреть исходный код «Expense Tracker»?
Да, код доступен на GitHub: https://github.com/astropsy999/Expense-tracker.
Информация о проекте
LearningCompleted
- Создано: 13 Feb 2021
- Обновлено: 13 Feb 2021
- URL GitHub: Посмотреть репозиторий


