Skip to content

Buhanzaz/java-sprint2-hw-accounting-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Accounting application

Второй проект

Приложение для бухгалтерии

Приложение имеет функциональность:

  1. Консольный интерфейс для управления программой.
  2. Считывание месячных и годового отчётов бухгалтерии из файлов и их перевод в объекты приложения.
  3. Сверка данных по месячным и годовому отчётам.
  4. Вывод информации о месячных и годовом отчётах.

Стек

Java 11

Запуск приложения

  1. Клонируйте репозиторий: git clone https://github.com/Buhanzaz/java-sprint2-hw-accounting-application.git
  2. Перейдите в каталог с проектом: cd java-sprint2-hw-accounting-application
  3. Откройте через командную строку .jar файл: java -jar java-sprint2-hw.jar

Стартовые вводные

Формат входных файлов CSV

Приложение должно работать с двумя видами файлов-отчётов — месячными и годовым. Нужно будет разбить входящий файл на составляющие и преобразовать к объектам приложения. Разберём подробнее, как они будут представлены.

Месячный отчёт

Месячный отчёт содержит данные о доходах и расходах в рамках одного календарного месяца.

  • Имена месячных отчётов.
    Файлы с отчётами именуются определённым образом, чтобы упростить их считывание и обработку. Имена файлов с месячными отчётами имеют формат m.YYYYMM.csv, где:
  • m — буква m в начале файла, чтобы отделить отчёты за месяц и отчёты за год;
  • YYYY — год. Например, 2021;
  • MM — месяц строго двумя цифрами. Счёт начинается с единицы, то есть 01 — «январь», а 11 — «ноябрь».
    Примеры: m.202001.csv — месячный отчёт за январь 2020 года, m.201912.csv — месячный отчёт за декабрь 2019 года.
  • Пример CSV-файла с месячным отчётом. item_name,is_expense,quantity,unit_price
    Воздушные шарики,TRUE,5000,5
    Автоматы с мороженым,TRUE,12,15000
    Продажа мороженого,FALSE,1000,120
  • У каждой строки месячного отчёта — четыре поля:
    1. item_name — название товара;
    2. is_expense — одно из двух значений: TRUE или FALSE. Обозначает, является ли запись тратой (TRUE) или доходом (FALSE);
    3. quantity — количество закупленного или проданного товара;
    4. unit_price — стоимость одной единицы товара. Целое число.
  • Класс месячного отчёта — MonthlyReport.

Годовой отчёт

Годовой отчёт содержит информацию обо всех тратах в течение года. На каждый месяц по две записи — общий доход и расход за этот месяц.

  • Имя годового отчёта.
    Имя файла с годовым отчётом имеет формат y.YYYY.csv, где:
  • y — буква y в начале файла, чтобы отделить отчёты за месяц и отчёты за год;
  • YYYY — год, например 2021.
    Примеры: y.2020.csv — годовой отчёт за 2020 год, y.2018.csv — годовой отчёт за 2018 год.
  • Пример CSV файла с годовым отчётом. month,amount,is_expense
    01,100000,false
    01,30000,true
    02,321690,false
    02,130000,true
    03,999999,true
    03,999999,false \
  • Строка годового отчёта состоит из трёх полей:
  1. month — месяц, целое число, обозначается строго двумя цифрами, начиная с единицы, то есть 01 — «январь», а 11 — «ноябрь»;
  2. amount — сумма;
  3. is_expense — одно из двух значений: true или false. Обозначает, является ли запись тратой (true) или доходом (false).
  • В приложении представлен классом YearlyReport.

About

First sprint homework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages