Expense Tracker main image

Описание и детали проекта

Задача

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

Использованные технологии

JavaScript

Языки

JavaScript (44.7%)CSS (34.8%)HTML (20.5%)