diff --git a/trackeroo/assets/data/transaction_data.json b/trackeroo/assets/data/transaction_data.json index 58a45d21e7f5ea2cab7a8040f5b43a1586dab8a1..72dfd21b8f4899c9fce6743156242f3eb35679b0 100644 --- a/trackeroo/assets/data/transaction_data.json +++ b/trackeroo/assets/data/transaction_data.json @@ -1,1082 +1,1082 @@ [ - { - "title": "eu enim. Etiam", - "amount": -957.0, - "category_id": "shopping", - "created_at": "2021-01-08 18:15:44" - }, { - "title": "ipsum ac mi eleifend", - "amount": -414.0, - "category_id": "education", - "created_at": "2020-11-03 12:15:59" + "title": "lorem ac risus. Morbi", + "amount": -176.0, + "category_id": "media_and_electronics", + "created_at": "2023-06-13 15:39:37" }, { - "title": "nunc ac mattis", - "amount": -983.0, - "category_id": "transport_and_car", - "created_at": "2020-06-24 07:57:16" + "title": "fringilla est. Mauris", + "amount": -125.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2022-04-18 07:35:29" }, { - "title": "orci, in consequat", - "amount": -646.0, - "category_id": "transport_and_car", - "created_at": "2021-07-11 13:41:23" + "title": "Morbi accumsan laoreet ipsum.", + "amount": -53.0, + "category_id": "household_and_utilities", + "created_at": "2023-02-13 04:56:01" }, { - "title": "pharetra", - "amount": -412.0, - "category_id": "household_and_utilities", - "created_at": "2021-02-21 04:03:41" + "title": "magnis dis parturient", + "amount": -68.0, + "category_id": "leisure_and_entertainment", + "created_at": "2021-12-13 06:58:18" }, - { - "title": "est tempor", - "amount": -736.0, - "category_id": "education", - "created_at": "2023-01-05 02:03:02" + { + "title": "Integer urna.", + "amount": -30.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2021-06-06 16:22:37" }, { - "title": "natoque penatibus et magnis", - "amount": -464.0, - "category_id": "bars_and_restaurants", - "created_at": "2020-11-24 10:56:41" + "title": "amet", + "amount": -137.0, + "category_id": "transport_and_car", + "created_at": "2021-09-14 01:01:31" }, { - "title": "enim nec", - "amount": -862.0, + "title": "nec, diam.", + "amount": -94.0, "category_id": "travel_and_holidays", - "created_at": "2023-01-23 21:11:58" + "created_at": "2022-05-08 02:44:07" }, { - "title": "gravida mauris", - "amount": -730.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2021-02-20 08:59:33" + "title": "nec urna et arcu", + "amount": -39.0, + "category_id": "education", + "created_at": "2020-05-08 08:39:50" }, { - "title": "diam. Pellentesque habitant", - "amount": -492.0, - "category_id": "household_and_utilities", - "created_at": "2023-05-30 11:12:27" - }, - { - "title": "malesuada", - "amount": -932.0, - "category_id": "atm", - "created_at": "2021-04-11 08:30:13" + "title": "urna. Vivamus molestie", + "amount": -106.0, + "category_id": "bars_and_restaurants", + "created_at": "2022-05-07 19:59:39" }, { - "title": "justo", - "amount": -743.0, + "title": "arcu vel", + "amount": -282.0, "category_id": "family_and_friends", - "created_at": "2021-04-08 01:58:07" - }, - { - "title": "ut, molestie", - "amount": -145.0, - "category_id": "shopping", - "created_at": "2022-03-10 03:09:33" + "created_at": "2021-01-14 21:07:00" }, { - "title": "ad litora", - "amount": -384.0, - "category_id": "travel_and_holidays", - "created_at": "2022-10-30 05:46:58" + "title": "Mauris vel turpis.", + "amount": -129.0, + "category_id": "leisure_and_entertainment", + "created_at": "2023-03-26 12:24:30" }, { - "title": "augue, eu", - "amount": -378.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2023-02-17 16:25:30" - }, - { - "title": "Cras eu tellus", - "amount": -6.0, - "category_id": "household_and_utilities", - "created_at": "2023-09-01 18:05:04" + "title": "Donec est. Nunc", + "amount": -256.0, + "category_id": "atm", + "created_at": "2022-07-15 07:11:33" }, { - "title": "elit elit", - "amount": -763.0, + "title": "hendrerit neque.", + "amount": -194.0, "category_id": "travel_and_holidays", - "created_at": "2023-01-14 00:53:13" + "created_at": "2021-02-17 03:36:03" }, { - "title": "auctor, nunc nulla vulputate", - "amount": -944.0, - "category_id": "transport_and_car", - "created_at": "2021-01-26 06:17:12" + "title": "mi felis,", + "amount": -90.0, + "category_id": "media_and_electronics", + "created_at": "2022-07-10 06:20:44" }, { - "title": "Cras convallis convallis", - "amount": -249.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-03-24 21:07:22" + "title": "Praesent eu nulla", + "amount": -244.0, + "category_id": "education", + "created_at": "2023-01-01 17:08:40" }, { - "title": "Curabitur ut odio vel", - "amount": -854.0, + "title": "porttitor tellus", + "amount": -207.0, "category_id": "transport_and_car", - "created_at": "2020-01-25 04:29:01" - }, - { - "title": "ornare. Fusce", - "amount": -75.0, - "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + "created_at": "2021-09-29 10:23:22" }, { - "title": "dictum sapien. Aenean", - "amount": -6.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "title": "nec, mollis", + "amount": -114.0, + "category_id": "shopping", + "created_at": "2021-05-14 08:24:15" }, { - "title": "Integer urna.", - "amount": -85.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "title": "facilisis, magna tellus", + "amount": -228.0, + "category_id": "transport_and_car", + "created_at": "2023-05-24 13:38:28" }, { - "title": "at pede. Cras vulputate", - "amount": -97.0, + "title": "tristique ac, eleifend vitae,", + "amount": -64.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2022-06-06 06:22:04" }, { - "title": "luctus et ultrices", - "amount": -76.0, - "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "title": "ipsum. Curabitur", + "amount": -300.0, + "category_id": "shopping", + "created_at": "2022-04-18 00:52:55" }, { - "title": "id sapien. Cras", - "amount": -49.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "title": "ac,", + "amount": -8.0, + "category_id": "family_and_friends", + "created_at": "2020-11-23 21:09:46" }, { - "title": "at sem", - "amount": -52.0, + "title": "Sed eu nibh vulputate", + "amount": -51.0, "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" - }, - { - "title": "dui,", - "amount": -66.0, - "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "created_at": "2021-11-20 09:24:19" }, { - "title": "sed pede.", - "amount": -6.0, + "title": "sed consequat", + "amount": -142.0, "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "created_at": "2020-08-13 05:53:52" }, { - "title": "Cras vehicula", - "amount": -83.0, + "title": "dolor quam, elementum", + "amount": -153.0, "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "created_at": "2023-05-02 06:44:34" }, { - "title": "urna suscipit", - "amount": -88.0, - "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "title": "elementum, lorem", + "amount": -90.0, + "category_id": "household_and_utilities", + "created_at": "2021-02-23 09:12:47" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -60.0, - "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "title": "lacus. Nulla", + "amount": -172.0, + "category_id": "shopping", + "created_at": "2020-06-30 06:14:33" }, { - "title": "mauris a", - "amount": -97.0, - "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" + "title": "dapibus id, blandit at,", + "amount": -4.0, + "category_id": "household_and_utilities", + "created_at": "2021-10-27 09:53:58" }, { - "title": "Duis at lacus.", - "amount": -8.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "title": "In scelerisque", + "amount": -151.0, + "category_id": "education", + "created_at": "2023-03-10 19:02:43" }, { - "title": "Aenean gravida nunc", - "amount": -12.0, - "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "title": "lacinia. Sed", + "amount": -182.0, + "category_id": "bars_and_restaurants", + "created_at": "2022-04-16 04:51:13" }, { - "title": "velit. Quisque", - "amount": -35.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "title": "in magna. Phasellus", + "amount": -44.0, + "category_id": "shopping", + "created_at": "2022-11-26 02:21:09" }, { - "title": "in aliquet", - "amount": -56.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "title": "felis orci, adipiscing", + "amount": -49.0, + "category_id": "leisure_and_entertainment", + "created_at": "2020-08-15 02:18:57" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -94.0, - "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "title": "sem magna", + "amount": -85.0, + "category_id": "shopping", + "created_at": "2022-09-27 08:39:30" }, { - "title": "urna. Vivamus molestie", - "amount": -72.0, - "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "title": "risus. Donec", + "amount": -283.0, + "category_id": "bars_and_restaurants", + "created_at": "2022-01-15 18:15:05" }, { - "title": "nec", - "amount": -64.0, + "title": "eros. Nam", + "amount": -193.0, "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" - }, - { - "title": "ornare. Fusce", - "amount": -8.0, - "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + "created_at": "2021-12-16 02:25:10" }, { - "title": "dictum sapien. Aenean", - "amount": -7.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "title": "Aliquam ultrices iaculis odio.", + "amount": -245.0, + "category_id": "atm", + "created_at": "2020-10-20 14:56:49" }, { - "title": "Integer urna.", - "amount": -1.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "title": "molestie arcu. Sed", + "amount": -91.0, + "category_id": "family_and_friends", + "created_at": "2021-11-07 03:38:24" }, { - "title": "at pede. Cras vulputate", - "amount": -9.0, + "title": "enim.", + "amount": -56.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2021-04-15 02:22:05" }, { - "title": "luctus et ultrices", - "amount": -7.0, - "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "title": "placerat, augue. Sed", + "amount": -260.0, + "category_id": "shopping", + "created_at": "2021-08-27 07:03:41" }, { - "title": "id sapien. Cras", - "amount": -7.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "title": "tellus. Nunc lectus", + "amount": -167.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2020-07-04 05:30:45" }, { - "title": "at sem", - "amount": -3.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" + "title": "ut, pellentesque eget,", + "amount": -7.0, + "category_id": "transport_and_car", + "created_at": "2021-05-20 01:23:33" }, { - "title": "dui,", - "amount": -7.0, + "title": "varius orci,", + "amount": -139.0, "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "created_at": "2021-03-31 16:16:31" }, { - "title": "sed pede.", - "amount": -9.0, - "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "title": "neque", + "amount": -181.0, + "category_id": "shopping", + "created_at": "2021-12-21 12:42:12" }, { - "title": "Cras vehicula", - "amount": -6.0, - "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "title": "luctus lobortis.", + "amount": -117.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2023-04-02 11:31:11" }, { - "title": "urna suscipit", - "amount": -1.0, + "title": "dolor. Quisque", + "amount": -64.0, "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "created_at": "2022-01-04 00:29:08" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -6.0, - "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "title": "porttitor vulputate,", + "amount": -257.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2023-02-20 22:40:23" }, { - "title": "mauris a", - "amount": -7.0, - "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" + "title": "ut aliquam iaculis, lacus", + "amount": -62.0, + "category_id": "travel_and_holidays", + "created_at": "2021-08-25 06:17:03" }, { - "title": "Duis at lacus.", - "amount": -2.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "title": "scelerisque scelerisque", + "amount": -252.0, + "category_id": "leisure_and_entertainment", + "created_at": "2021-05-15 10:11:46" }, { - "title": "Aenean gravida nunc", - "amount": -7.0, + "title": "euismod et, commodo", + "amount": -39.0, "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "created_at": "2020-01-23 15:23:23" }, { - "title": "velit. Quisque", - "amount": -32.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "title": "eu, odio.", + "amount": -16.0, + "category_id": "education", + "created_at": "2022-03-31 22:04:16" }, { - "title": "in aliquet", - "amount": -10.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "title": "lobortis ultrices. Vivamus", + "amount": -286.0, + "category_id": "household_and_utilities", + "created_at": "2020-02-02 22:30:16" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -3.0, - "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "title": "est, vitae", + "amount": -50.0, + "category_id": "education", + "created_at": "2021-06-13 04:10:53" }, { - "title": "urna. Vivamus molestie", - "amount": -9.0, - "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "title": "eget laoreet posuere, enim", + "amount": -171.0, + "category_id": "education", + "created_at": "2021-06-26 23:46:33" }, { - "title": "nec", - "amount": -6.0, - "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" + "title": "Cras", + "amount": -175.0, + "category_id": "leisure_and_entertainment", + "created_at": "2022-06-29 07:18:25" }, - { - "title": "ornare. Fusce", - "amount": -50.0, - "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + { + "title": "venenatis a,", + "amount": -31.0, + "category_id": "education", + "created_at": "2020-03-11 09:11:35" }, { - "title": "dictum sapien. Aenean", - "amount": -44.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "title": "arcu. Vestibulum", + "amount": -175.0, + "category_id": "bars_and_restaurants", + "created_at": "2022-01-17 11:54:24" }, { - "title": "Integer urna.", - "amount": -23.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "title": "orci sem", + "amount": -54.0, + "category_id": "travel_and_holidays", + "created_at": "2021-05-23 00:40:59" }, { - "title": "at pede. Cras vulputate", - "amount": -7.0, + "title": "lorem lorem, luctus ut,", + "amount": -101.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2020-10-09 20:00:58" }, { - "title": "luctus et ultrices", - "amount": -9.0, - "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "title": "tortor. Nunc commodo", + "amount": -246.0, + "category_id": "transport_and_car", + "created_at": "2021-06-06 14:12:46" }, { - "title": "id sapien. Cras", - "amount": -12.0, + "title": "at", + "amount": -82.0, "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "created_at": "2020-02-27 13:59:13" }, { - "title": "at sem", - "amount": -22.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" + "title": "semper, dui", + "amount": -63.0, + "category_id": "leisure_and_entertainment", + "created_at": "2023-05-08 20:16:32" }, { - "title": "dui,", - "amount": -44.0, + "title": "venenatis a, magna. Lorem", + "amount": -140.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2022-09-21 14:34:48" + }, + { + "title": "semper", + "amount": -236.0, "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "created_at": "2022-01-15 11:27:04" }, { - "title": "sed pede.", - "amount": -3.0, - "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "title": "nisl", + "amount": -293.0, + "category_id": "leisure_and_entertainment", + "created_at": "2020-01-26 20:20:13" }, { - "title": "Cras vehicula", - "amount": -10.0, - "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "title": "eleifend, nunc risus varius", + "amount": -221.0, + "category_id": "family_and_friends", + "created_at": "2021-01-02 03:44:00" }, { - "title": "urna suscipit", - "amount": -20.0, + "title": "libero dui", + "amount": -223.0, "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "created_at": "2023-02-21 15:29:29" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -32.0, + "title": "ornare tortor", + "amount": -65.0, "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "created_at": "2022-05-25 16:03:11" }, { - "title": "mauris a", - "amount": -26.0, + "title": "ullamcorper viverra. Maecenas", + "amount": -225.0, "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" - }, - { - "title": "Duis at lacus.", - "amount": -44.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "created_at": "2020-06-27 13:35:01" }, { - "title": "Aenean gravida nunc", - "amount": -28.0, - "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "title": "sit amet", + "amount": -57.0, + "category_id": "travel_and_holidays", + "created_at": "2020-02-08 07:20:47" }, { - "title": "velit. Quisque", - "amount": -27.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "title": "ad", + "amount": -251.0, + "category_id": "media_and_electronics", + "created_at": "2022-01-30 06:29:46" }, { - "title": "in aliquet", - "amount": -29.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "title": "euismod ac, fermentum", + "amount": -183.0, + "category_id": "bars_and_restaurants", + "created_at": "2021-03-08 06:30:10" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -15.0, - "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "title": "Vestibulum ut eros", + "amount": -237.0, + "category_id": "media_and_electronics", + "created_at": "2023-05-23 12:09:01" }, { - "title": "urna. Vivamus molestie", - "amount": -9.0, - "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "title": "sit amet luctus vulputate,", + "amount": -235.0, + "category_id": "education", + "created_at": "2022-04-20 04:12:59" }, { - "title": "nec", - "amount": -24.0, - "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" - }, - { - "title": "ornare. Fusce", - "amount": -13.0, + "title": "Aenean egestas hendrerit", + "amount": -15.0, "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + "created_at": "2021-03-04 12:20:59" }, { - "title": "dictum sapien. Aenean", - "amount": -4.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "title": "non massa non ante", + "amount": -96.0, + "category_id": "household_and_utilities", + "created_at": "2023-01-22 05:20:50" }, { - "title": "Integer urna.", - "amount": -27.0, + "title": "malesuada", + "amount": -73.0, "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "created_at": "2020-05-10 07:47:45" }, { - "title": "at pede. Cras vulputate", - "amount": -41.0, + "title": "velit dui, semper", + "amount": -234.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2022-10-16 21:58:21" + }, + { + "title": "in molestie tortor nibh", + "amount": -294.0, + "category_id": "travel_and_holidays", + "created_at": "2020-01-28 09:08:36" }, { - "title": "luctus et ultrices", - "amount": -27.0, + "title": "Cras", + "amount": -88.0, "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "created_at": "2023-01-23 11:38:10" }, { - "title": "id sapien. Cras", - "amount": -16.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "title": "neque. Sed eget lacus.", + "amount": -242.0, + "category_id": "food_and_groceries", + "created_at": "2022-09-13 03:44:40" }, { - "title": "at sem", - "amount": -3.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" + "title": "vulputate", + "amount": -206.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2020-11-23 14:43:03" }, { - "title": "dui,", - "amount": -13.0, - "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "title": "dolor", + "amount": -29.0, + "category_id": "food_and_groceries", + "created_at": "2020-06-07 18:49:38" }, { - "title": "sed pede.", - "amount": -24.0, - "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "title": "orci luctus", + "amount": -49.0, + "category_id": "bars_and_restaurants", + "created_at": "2022-06-16 00:11:43" }, { - "title": "Cras vehicula", - "amount": -15.0, - "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "title": "lectus pede, ultrices a,", + "amount": -20.0, + "category_id": "family_and_friends", + "created_at": "2022-08-12 17:01:23" }, { - "title": "urna suscipit", - "amount": -19.0, - "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "title": "Duis mi enim,", + "amount": -1.0, + "category_id": "travel_and_holidays", + "created_at": "2023-02-13 13:12:10" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -19.0, - "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "title": "ut dolor", + "amount": -34.0, + "category_id": "household_and_utilities", + "created_at": "2021-08-07 00:31:07" }, { - "title": "mauris a", - "amount": -2.0, - "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" + "title": "Maecenas malesuada", + "amount": -35.0, + "category_id": "education", + "created_at": "2020-07-14 00:56:59" }, { - "title": "Duis at lacus.", - "amount": -1.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "title": "tortor, dictum", + "amount": -50.0, + "category_id": "leisure_and_entertainment", + "created_at": "2023-02-19 16:08:25" }, { - "title": "Aenean gravida nunc", - "amount": -6.0, + "title": "erat. Etiam", + "amount": -21.0, "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "created_at": "2022-03-13 21:39:19" }, { - "title": "velit. Quisque", - "amount": -23.0, + "title": "interdum.", + "amount": -28.0, "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "created_at": "2021-12-29 11:25:36" }, { - "title": "in aliquet", - "amount": -3.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "title": "nec mauris blandit", + "amount": -15.0, + "category_id": "education", + "created_at": "2023-02-03 19:12:35" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -12.0, + "title": "ipsum porta", + "amount": -9.0, "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "created_at": "2020-09-22 10:01:49" }, { - "title": "urna. Vivamus molestie", - "amount": -15.0, + "title": "pharetra ut,", + "amount": -11.0, + "category_id": "leisure_and_entertainment", + "created_at": "2020-07-05 02:39:49" + }, + { + "title": "Cras vulputate velit", + "amount": -28.0, + "category_id": "leisure_and_entertainment", + "created_at": "2020-07-27 06:22:46" + }, + { + "title": "lacus pede", + "amount": -13.0, + "category_id": "education", + "created_at": "2023-05-02 04:58:29" + }, + { + "title": "mollis", + "amount": -19.0, + "category_id": "education", + "created_at": "2020-05-19 16:28:08" + }, + { + "title": "eleifend, nunc", + "amount": -40.0, "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "created_at": "2021-08-19 19:37:33" }, { - "title": "nec", - "amount": -16.0, - "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" + "title": "In lorem.", + "amount": -28.0, + "category_id": "household_and_utilities", + "created_at": "2020-10-23 07:52:08" }, - { - "title": "ornare. Fusce", - "amount": -57.0, - "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + { + "title": "nec, euismod", + "amount": -18.0, + "category_id": "atm", + "created_at": "2020-12-21 14:33:19" }, { - "title": "dictum sapien. Aenean", - "amount": -3.0, + "title": "libero dui nec", + "amount": -26.0, "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "created_at": "2020-01-13 06:01:07" }, { - "title": "Integer urna.", - "amount": -43.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "title": "In lorem.", + "amount": -44.0, + "category_id": "travel_and_holidays", + "created_at": "2023-01-12 04:26:19" }, { - "title": "at pede. Cras vulputate", - "amount": -49.0, + "title": "primis in faucibus", + "amount": -23.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2022-04-08 06:14:56" }, { - "title": "luctus et ultrices", - "amount": -37.0, - "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "title": "lectus. Nullam", + "amount": -43.0, + "category_id": "leisure_and_entertainment", + "created_at": "2022-08-20 02:17:46" }, { - "title": "id sapien. Cras", - "amount": -64.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "title": "luctus aliquet", + "amount": -1.0, + "category_id": "food_and_groceries", + "created_at": "2021-08-30 18:08:06" }, { - "title": "at sem", - "amount": -27.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" + "title": "tempor augue ac ipsum.", + "amount": -40.0, + "category_id": "household_and_utilities", + "created_at": "2020-09-20 07:09:27" }, { - "title": "dui,", - "amount": -26.0, - "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "title": "Etiam laoreet, libero", + "amount": -43.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2021-01-27 11:21:10" }, { - "title": "sed pede.", - "amount": -68.0, + "title": "laoreet lectus quis", + "amount": -50.0, + "category_id": "atm", + "created_at": "2020-03-16 06:46:06" + }, + { + "title": "fringilla. Donec feugiat", + "amount": -26.0, "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "created_at": "2021-06-29 03:37:17" }, { - "title": "Cras vehicula", - "amount": -11.0, - "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "title": "Nunc ut erat. Sed", + "amount": -47.0, + "category_id": "family_and_friends", + "created_at": "2021-05-26 05:41:56" }, { - "title": "urna suscipit", - "amount": -34.0, - "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "title": "fermentum arcu. Vestibulum ante", + "amount": -43.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2022-06-24 05:47:55" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -9.0, + "title": "tempor lorem,", + "amount": -35.0, "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "created_at": "2020-10-15 19:18:15" }, { - "title": "mauris a", - "amount": -51.0, - "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" + "title": "tristique pharetra. Quisque ac", + "amount": -36.0, + "category_id": "education", + "created_at": "2023-04-10 23:24:26" }, { - "title": "Duis at lacus.", - "amount": -56.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "title": "diam nunc, ullamcorper", + "amount": -1.0, + "category_id": "travel_and_holidays", + "created_at": "2022-05-10 16:32:17" }, { - "title": "Aenean gravida nunc", - "amount": -70.0, - "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "title": "gravida sagittis.", + "amount": -24.0, + "category_id": "media_and_electronics", + "created_at": "2023-03-05 03:48:57" }, { - "title": "velit. Quisque", - "amount": -5.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "title": "erat. Etiam", + "amount": -6.0, + "category_id": "travel_and_holidays", + "created_at": "2021-02-03 16:12:10" }, { - "title": "in aliquet", - "amount": -30.0, + "title": "Etiam imperdiet dictum magna.", + "amount": -49.0, + "category_id": "media_and_electronics", + "created_at": "2021-03-22 15:10:36" + }, + { + "title": "quis, tristique ac, eleifend", + "amount": -6.0, "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "created_at": "2020-04-24 02:50:07" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -36.0, - "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "title": "dictum eu,", + "amount": -31.0, + "category_id": "atm", + "created_at": "2020-05-26 22:33:29" }, { - "title": "urna. Vivamus molestie", - "amount": -22.0, - "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "title": "arcu vel quam dignissim", + "amount": -32.0, + "category_id": "bars_and_restaurants", + "created_at": "2021-08-13 10:24:57" }, { - "title": "nec", - "amount": -61.0, - "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" + "title": "dapibus id, blandit", + "amount": -14.0, + "category_id": "food_and_groceries", + "created_at": "2020-06-06 19:16:24" }, - { - "title": "ornare. Fusce", - "amount": -4.0, - "category_id": "media_and_electronics", - "created_at": "2022-04-09 17:02:27" + { + "title": "tristique senectus et netus", + "amount": -30.0, + "category_id": "household_and_utilities", + "created_at": "2021-10-11 18:34:19" }, { - "title": "dictum sapien. Aenean", - "amount": -4.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2024-01-26 06:53:49" + "title": "Morbi sit amet", + "amount": -40.0, + "category_id": "transport_and_car", + "created_at": "2021-03-18 13:22:15" }, { - "title": "Integer urna.", - "amount": -15.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-02-21 15:42:13" + "title": "mauris", + "amount": -31.0, + "category_id": "education", + "created_at": "2021-04-19 04:56:46" }, { - "title": "at pede. Cras vulputate", - "amount": -2.0, + "title": "pede. Suspendisse dui.", + "amount": -31.0, "category_id": "shopping", - "created_at": "2023-11-01 19:15:00" + "created_at": "2022-07-11 20:03:39" }, { - "title": "luctus et ultrices", - "amount": -20.0, - "category_id": "education", - "created_at": "2020-02-26 19:27:07" + "title": "et, rutrum", + "amount": -17.0, + "category_id": "household_and_utilities", + "created_at": "2022-06-05 05:44:17" }, { - "title": "id sapien. Cras", - "amount": -18.0, + "title": "lobortis", + "amount": -42.0, "category_id": "bars_and_restaurants", - "created_at": "2021-07-11 23:08:14" + "created_at": "2021-03-23 14:39:31" }, { - "title": "at sem", - "amount": -20.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-08-16 16:12:36" + "title": "eget nisi dictum", + "amount": -22.0, + "category_id": "atm", + "created_at": "2021-09-27 19:07:07" }, { - "title": "dui,", - "amount": -16.0, - "category_id": "household_and_utilities", - "created_at": "2023-10-15 08:18:05" + "title": "senectus et", + "amount": -45.0, + "category_id": "shopping", + "created_at": "2021-11-28 16:44:43" }, { - "title": "sed pede.", - "amount": -7.0, + "title": "rutrum non,", + "amount": -40.0, + "category_id": "media_and_electronics", + "created_at": "2020-12-21 06:55:41" + }, + { + "title": "egestas a, scelerisque", + "amount": -34.0, "category_id": "transport_and_car", - "created_at": "2021-01-14 16:35:48" + "created_at": "2023-05-31 04:38:17" }, { - "title": "Cras vehicula", - "amount": -17.0, - "category_id": "education", - "created_at": "2022-04-12 02:58:33" + "title": "placerat", + "amount": -2.0, + "category_id": "atm", + "created_at": "2022-07-16 18:52:08" }, { - "title": "urna suscipit", - "amount": -12.0, - "category_id": "transport_and_car", - "created_at": "2020-03-15 07:35:01" + "title": "Mauris", + "amount": -16.0, + "category_id": "food_and_groceries", + "created_at": "2021-01-06 14:34:02" }, { - "title": "fermentum fermentum arcu. Vestibulum", - "amount": -7.0, - "category_id": "leisure_and_entertainment", - "created_at": "2022-04-26 14:48:33" + "title": "volutpat nunc", + "amount": -3.0, + "category_id": "atm", + "created_at": "2022-07-07 14:53:30" }, { - "title": "mauris a", - "amount": -2.0, - "category_id": "transport_and_car", - "created_at": "2022-06-15 02:07:11" + "title": "sem", + "amount": -34.0, + "category_id": "media_and_electronics", + "created_at": "2021-07-10 08:37:42" }, { - "title": "Duis at lacus.", - "amount": -20.0, - "category_id": "bars_and_restaurants", - "created_at": "2021-08-08 06:05:47" + "title": "Mauris ut quam", + "amount": -34.0, + "category_id": "food_and_groceries", + "created_at": "2020-10-08 06:47:44" }, { - "title": "Aenean gravida nunc", - "amount": -8.0, - "category_id": "transport_and_car", - "created_at": "2024-04-17 22:37:54" + "title": "interdum libero", + "amount": -30.0, + "category_id": "travel_and_holidays", + "created_at": "2021-06-17 21:28:00" }, { - "title": "velit. Quisque", - "amount": -6.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-02-12 13:32:09" + "title": "diam. Duis mi", + "amount": -41.0, + "category_id": "shopping", + "created_at": "2022-04-04 00:53:23" }, { - "title": "in aliquet", - "amount": -12.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-04-18 19:36:41" + "title": "ante", + "amount": -41.0, + "category_id": "media_and_electronics", + "created_at": "2020-05-17 14:18:25" }, { - "title": "Vivamus rhoncus. Donec est.", - "amount": -14.0, - "category_id": "travel_and_holidays", - "created_at": "2023-12-15 06:15:41" + "title": "scelerisque dui. Suspendisse ac", + "amount": -3.0, + "category_id": "bars_and_restaurants", + "created_at": "2020-09-27 19:12:34" }, { - "title": "urna. Vivamus molestie", - "amount": -16.0, + "title": "dolor.", + "amount": -1.0, "category_id": "household_and_utilities", - "created_at": "2020-05-07 23:31:51" + "created_at": "2022-11-16 00:09:21" }, { - "title": "nec", - "amount": -13.0, - "category_id": "shopping", - "created_at": "2022-06-12 09:55:41" - }, - { - "title": "justo eu", - "amount": -15.0, + "title": "in consequat", + "amount": -42.0, "category_id": "shopping", - "created_at": "2024-02-03 14:52:56" + "created_at": "2020-02-06 20:51:27" }, { - "title": "faucibus orci luctus", - "amount": -20.0, - "category_id": "family_and_friends", - "created_at": "2024-05-27 18:37:16" + "title": "ligula.", + "amount": -3.0, + "category_id": "atm", + "created_at": "2020-05-21 09:05:58" }, { - "title": "litora torquent per", - "amount": -23.0, + "title": "Mauris", + "amount": -38.0, "category_id": "travel_and_holidays", - "created_at": "2023-02-03 10:55:41" + "created_at": "2020-11-06 05:27:46" }, { - "title": "ad litora", - "amount": -16.0, - "category_id": "family_and_friends", - "created_at": "2020-04-01 13:59:13" + "title": "Phasellus", + "amount": -2.0, + "category_id": "shopping", + "created_at": "2023-03-28 07:56:25" }, { - "title": "cursus,", - "amount": -15.0, - "category_id": "media_and_electronics", - "created_at": "2021-12-30 01:11:55" + "title": "ligula eu enim. Etiam", + "amount": -44.0, + "category_id": "shopping", + "created_at": "2020-07-30 14:36:30" }, { - "title": "est mauris, rhoncus", - "amount": -26.0, - "category_id": "transport_and_car", - "created_at": "2024-06-10 13:25:53" + "title": "vitae risus. Duis", + "amount": -37.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2023-06-29 10:00:37" }, { - "title": "elit. Curabitur sed", - "amount": -7.0, + "title": "amet", + "amount": -10.0, "category_id": "transport_and_car", - "created_at": "2021-07-21 01:39:22" + "created_at": "2022-04-26 02:22:53" }, { - "title": "nulla vulputate dui, nec", - "amount": -14.0, - "category_id": "leisure_and_entertainment", - "created_at": "2021-02-22 22:53:38" + "title": "posuere, enim nisl", + "amount": -24.0, + "category_id": "education", + "created_at": "2022-03-27 19:52:19" }, { - "title": "lectus justo eu", - "amount": -12.0, - "category_id": "transport_and_car", - "created_at": "2021-07-24 19:02:59" + "title": "malesuada. Integer id", + "amount": -35.0, + "category_id": "bars_and_restaurants", + "created_at": "2023-06-22 04:39:34" }, { - "title": "Nullam suscipit, est", + "title": "dapibus id, blandit at,", "amount": -14.0, - "category_id": "shopping", - "created_at": "2024-02-18 08:52:28" + "category_id": "leisure_and_entertainment", + "created_at": "2022-06-08 07:24:43" }, { - "title": "tortor at", - "amount": -7.0, - "category_id": "bars_and_restaurants", - "created_at": "2023-02-27 16:20:51" + "title": "Duis gravida. Praesent", + "amount": -44.0, + "category_id": "leisure_and_entertainment", + "created_at": "2022-11-17 16:28:16" }, { - "title": "facilisi. Sed neque.", - "amount": -17.0, - "category_id": "transport_and_car", - "created_at": "2023-04-18 19:05:54" + "title": "ut, pellentesque", + "amount": -31.0, + "category_id": "education", + "created_at": "2021-11-19 23:49:58" }, { - "title": "Nullam nisl. Maecenas", - "amount": -7.0, + "title": "neque non quam.", + "amount": -25.0, "category_id": "leisure_and_entertainment", - "created_at": "2020-11-01 02:16:41" + "created_at": "2022-05-14 03:19:11" }, { - "title": "ligula.", - "amount": -25.0, + "title": "eu neque", + "amount": -21.0, "category_id": "transport_and_car", - "created_at": "2024-02-19 02:18:50" + "created_at": "2021-12-30 21:35:17" }, { - "title": "Morbi sit", - "amount": -19.0, - "category_id": "atm", - "created_at": "2022-05-06 03:51:18" + "title": "lectus ante dictum mi,", + "amount": -32.0, + "category_id": "transport_and_car", + "created_at": "2022-10-22 23:50:11" }, { - "title": "Vivamus nibh dolor,", - "amount": -13.0, - "category_id": "media_and_electronics", - "created_at": "2023-09-16 20:06:18" + "title": "primis in faucibus", + "amount": -19.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2021-12-25 19:34:08" }, { - "title": "ultrices", + "title": "Aliquam gravida", "amount": -1.0, - "category_id": "travel_and_holidays", - "created_at": "2024-02-06 07:14:31" + "category_id": "education", + "created_at": "2020-06-27 19:50:14" }, { - "title": "tincidunt dui", - "amount": -5.0, - "category_id": "travel_and_holidays", - "created_at": "2021-05-15 05:01:31" + "title": "gravida", + "amount": -42.0, + "category_id": "atm", + "created_at": "2020-11-15 16:46:32" }, { - "title": "habitant", - "amount": -24.0, - "category_id": "transport_and_car", - "created_at": "2020-07-19 15:04:01" + "title": "nascetur ridiculus", + "amount": -11.0, + "category_id": "family_and_friends", + "created_at": "2021-11-07 21:09:59" }, { - "title": "Donec", - "amount": -5.0, - "category_id": "transport_and_car", - "created_at": "2023-07-08 02:05:24" + "title": "tristique ac, eleifend", + "amount": -8.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2021-02-22 06:11:43" }, - { - "title": "Ut sagittis", - "amount": -10.0, - "category_id": "household_and_utilities", - "created_at": "2021-12-01 17:31:42" + { + "title": "Duis sit amet", + "amount": -37.0, + "category_id": "bars_and_restaurants", + "created_at": "2020-05-24 06:23:00" }, { - "title": "id, mollis", - "amount": -4.0, - "category_id": "travel_and_holidays", - "created_at": "2021-10-12 18:00:12" + "title": "Nunc", + "amount": -39.0, + "category_id": "atm", + "created_at": "2021-04-17 09:26:01" }, { - "title": "mattis.", - "amount": -27.0, - "category_id": "travel_and_holidays", - "created_at": "2023-10-23 20:42:33" + "title": "feugiat", + "amount": -37.0, + "category_id": "household_and_utilities", + "created_at": "2020-04-02 14:25:47" }, { - "title": "In scelerisque scelerisque dui.", - "amount": -18.0, - "category_id": "leisure_and_entertainment", - "created_at": "2021-09-24 01:09:51" + "title": "Phasellus", + "amount": -36.0, + "category_id": "transport_and_car", + "created_at": "2020-08-06 16:30:10" }, { - "title": "Praesent interdum ligula", - "amount": -3.0, - "category_id": "household_and_utilities", - "created_at": "2022-06-09 20:57:03" + "title": "faucibus id,", + "amount": -35.0, + "category_id": "transport_and_car", + "created_at": "2021-09-29 03:36:39" }, { - "title": "Nunc commodo auctor velit.", - "amount": -11.0, - "category_id": "shopping", - "created_at": "2021-12-19 09:07:36" + "title": "et ipsum cursus", + "amount": -18.0, + "category_id": "healthcare_and_drug_stores", + "created_at": "2020-03-21 12:49:55" }, { - "title": "non magna.", - "amount": -20.0, - "category_id": "education", - "created_at": "2023-01-29 01:08:37" + "title": "imperdiet", + "amount": -47.0, + "category_id": "shopping", + "created_at": "2020-08-10 01:19:18" }, { - "title": "rutrum urna, nec", - "amount": -9.0, - "category_id": "bars_and_restaurants", - "created_at": "2022-06-21 23:56:06" + "title": "auctor vitae, aliquet nec,", + "amount": -8.0, + "category_id": "education", + "created_at": "2022-07-01 11:51:21" }, { - "title": "egestas", - "amount": -29.0, - "category_id": "food_and_groceries", - "created_at": "2024-01-09 10:59:32" + "title": "a, magna.", + "amount": -37.0, + "category_id": "leisure_and_entertainment", + "created_at": "2020-04-16 16:15:08" }, { - "title": "neque tellus, imperdiet", - "amount": -1.0, + "title": "Nunc mauris elit,", + "amount": -48.0, "category_id": "bars_and_restaurants", - "created_at": "2021-01-08 21:11:22" + "created_at": "2020-10-19 02:28:34" }, { - "title": "facilisis, magna tellus", - "amount": -22.0, - "category_id": "atm", - "created_at": "2024-01-05 08:20:18" + "title": "non enim. Mauris", + "amount": -49.0, + "category_id": "family_and_friends", + "created_at": "2020-09-15 22:19:10" }, { - "title": "tincidunt. Donec vitae", - "amount": -14.0, - "category_id": "family_and_friends", - "created_at": "2021-03-24 10:59:34" + "title": "diam", + "amount": -31.0, + "category_id": "transport_and_car", + "created_at": "2022-09-17 02:27:51" }, { - "title": "facilisis eget, ipsum.", - "amount": -21.0, - "category_id": "leisure_and_entertainment", - "created_at": "2020-10-17 06:24:06" + "title": "neque non quam.", + "amount": -5.0, + "category_id": "household_and_utilities", + "created_at": "2020-01-21 03:58:23" }, { - "title": "Mauris", - "amount": -1.0, - "category_id": "transport_and_car", - "created_at": "2021-09-11 17:07:52" + "title": "egestas, urna justo", + "amount": -24.0, + "category_id": "food_and_groceries", + "created_at": "2021-11-24 08:38:03" }, { - "title": "diam at", - "amount": -1.0, - "category_id": "education", - "created_at": "2021-11-08 21:25:26" + "title": "mattis.", + "amount": -14.0, + "category_id": "family_and_friends", + "created_at": "2020-06-20 13:12:24" }, { - "title": "posuere cubilia", + "title": "sem semper", "amount": -22.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2022-07-25 11:22:17" + "category_id": "media_and_electronics", + "created_at": "2021-08-04 06:40:47" }, { - "title": "et, euismod et, commodo", - "amount": -25.0, - "category_id": "healthcare_and_drug_stores", - "created_at": "2020-04-05 23:56:30" + "title": "vitae diam.", + "amount": -41.0, + "category_id": "household_and_utilities", + "created_at": "2022-01-08 14:39:31" }, { - "title": "erat. Sed", - "amount": -24.0, - "category_id": "travel_and_holidays", - "created_at": "2021-07-27 06:33:46" + "title": "augue porttitor interdum.", + "amount": -41.0, + "category_id": "education", + "created_at": "2022-04-29 08:52:55" }, { - "title": "lobortis augue", - "amount": -13.0, - "category_id": "family_and_friends", - "created_at": "2023-05-18 20:35:24" + "title": "neque.", + "amount": -36.0, + "category_id": "leisure_and_entertainment", + "created_at": "2023-01-16 17:33:16" }, { - "title": "ut mi. Duis", - "amount": -25.0, - "category_id": "family_and_friends", - "created_at": "2023-12-27 14:28:14" + "title": "sem ut cursus", + "amount": -11.0, + "category_id": "media_and_electronics", + "created_at": "2020-07-19 14:48:51" + }, + { + "title": "ac, eleifend", + "amount": -5.0, + "category_id": "bars_and_restaurants", + "created_at": "2020-06-25 22:03:52" } -] +] \ No newline at end of file diff --git a/trackeroo/lib/app.dart b/trackeroo/lib/app.dart index c6b022ce87a01e3d6a9342528bec934dcf6a9bac..7026a4f0f0f776fcd3b0883b6a76f44837416ffd 100644 --- a/trackeroo/lib/app.dart +++ b/trackeroo/lib/app.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:google_fonts/google_fonts.dart'; +// ignore: unused_import import 'package:trackeroo/app_scaffold.dart'; import 'package:trackeroo/frontend/views/onboarding_view.dart'; import 'package:trackeroo/logic/services/app_state_controller.dart'; import 'package:trackeroo/logic/services/locator.dart'; import 'package:get/get.dart'; -import 'package:trackeroo/logic/models/local_String.dart'; +import 'package:trackeroo/logic/models/local_string.dart'; class MyApp extends StatelessWidget { MyApp({super.key}); @@ -40,24 +42,25 @@ class MyApp extends StatelessWidget { ); return GetMaterialApp( translations: LocalString(), - locale: Locale('en', 'US'), + locale: const Locale('en', 'US'), debugShowCheckedModeBanner: false, - title: 'Flutter Demo', theme: ThemeData( colorScheme: lightColorScheme, brightness: Brightness.light, useMaterial3: true, - // textTheme: GoogleFonts.rubikTextTheme(ThemeData.light().textTheme) + textTheme: GoogleFonts.rubikTextTheme(ThemeData.light().textTheme) ), darkTheme: ThemeData( colorScheme: darkColorScheme, brightness: Brightness.dark, useMaterial3: true, - // textTheme: GoogleFonts.rubikTextTheme(ThemeData.dark().textTheme) + textTheme: GoogleFonts.rubikTextTheme(ThemeData.dark().textTheme) ), - home: appStateController.appState.isFirstOpening - ? const OnboardingView() - : const AppScaffold(), + // TODO: for prod comment in line 60-62, line 59 is only for testing + home: const OnboardingView(), + // home: appStateController.appState.isFirstOpening + // ? const OnboardingView() + // : const AppScaffold(), ); }), ); diff --git a/trackeroo/lib/frontend/utils/category_listtile.dart b/trackeroo/lib/frontend/utils/category_listtile.dart index 5f13920c1cd238e7a89680f0d3eba66856dba7c7..ecd923e138481e6e0abb98188b23500b54f83fa3 100644 --- a/trackeroo/lib/frontend/utils/category_listtile.dart +++ b/trackeroo/lib/frontend/utils/category_listtile.dart @@ -1,6 +1,10 @@ import 'package:flutter/material.dart'; import 'package:trackeroo/frontend/views/edit_category_view.dart'; +import 'package:trackeroo/logic/constants/selecable_colors.dart'; import 'package:trackeroo/logic/models/category.dart'; +import 'package:trackeroo/logic/models/transaction.dart'; +import 'package:trackeroo/logic/services/locator.dart'; +import 'package:trackeroo/logic/services/transactions_controller.dart'; class CategoryListtile extends StatelessWidget { const CategoryListtile({Key? key, required this.category}) : super(key: key); @@ -41,20 +45,32 @@ class CategoryListtile extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Row( + Text( + category.title, + style: const TextStyle( + fontSize: 18.0, + fontWeight: FontWeight.bold, + ), + ), + !category.budget.isNegative ? Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - category.title, - style: const TextStyle( - fontSize: 18.0, - fontWeight: FontWeight.bold, - ), + 'Budget: ${category.budget.toStringAsFixed(2)} €' ), + const SizedBox(height: 3.0), + Stack( + children: [ + Container( + height: 3.0, + width: 240, + color: Colors.grey[300], + ), + buildOverlayContainer(context) + ], + ) ], - ), - !category.budget.isNegative ? Text( - 'Budget: ${category.budget}', - ) : const SizedBox(), + ) : const SizedBox() ], ), ], @@ -75,4 +91,30 @@ class CategoryListtile extends StatelessWidget { ), ); } + + Widget buildOverlayContainer(BuildContext context) { + DateTime dateTimeNow = DateTime.now(); + double maxWidth = 240; + double relativeWidth = 0; + double sum = 0; + + for(Transaction transaction in locator.get<TransactionsController>().transactionsList) { + if (transaction.categoryId == category.id && transaction.createdAt.month == dateTimeNow.month && transaction.createdAt.year == dateTimeNow.year) { + sum += transaction.amount; + } + if(sum.abs() >= category.budget) { + return Container( + height: 3.0, + width: maxWidth, + color: Theme.of(context).colorScheme.error, + ); + } + } + relativeWidth = maxWidth * (sum.abs() / category.budget); + return Container( + height: 3.0, + width: relativeWidth, + color: selectableColors['Betty']!.color, + ); + } } diff --git a/trackeroo/lib/frontend/views/details_view.dart b/trackeroo/lib/frontend/views/details_view.dart index 000e11a6769fa109649ae84e45c8ae1c990907bd..f0f590dca9d19d56d4cb78ba08cbb0402391a152 100644 --- a/trackeroo/lib/frontend/views/details_view.dart +++ b/trackeroo/lib/frontend/views/details_view.dart @@ -29,11 +29,13 @@ class _DetailsViewState extends State<DetailsView> { @override void initState() { - if (transactionsController.transactionsList.isNotEmpty) { - timespan = DateTimeRange( - start: transactionsController.transactionsList.last.createdAt, - end: transactionsController.transactionsList.first.createdAt); - } + // TODO: commented out due to bug and none relevancy for presentation + // if (transactionsController.transactionsList.isNotEmpty) { + // timespan = DateTimeRange( + // start: transactionsController.transactionsList.last.createdAt, + // end: transactionsController.transactionsList.first.createdAt + // ); + // } super.initState(); } diff --git a/trackeroo/lib/frontend/views/edit_category_view.dart b/trackeroo/lib/frontend/views/edit_category_view.dart index ece5ab7cb9575f4ee63e4a0247aafd769ffcf96d..d6d6c946777f1a6af84bb3ff793922958d7fb422 100644 --- a/trackeroo/lib/frontend/views/edit_category_view.dart +++ b/trackeroo/lib/frontend/views/edit_category_view.dart @@ -117,7 +117,8 @@ class _EditCategoryViewState extends State<EditCategoryView> { id: _nameController.text.replaceAll(' ', '_').toLowerCase(), title: _nameController.text, iconCodePoint: _selectedIcon.codePoint, - colorValue: _selectedColor.value); + colorValue: _selectedColor.value, + budget: _hasBudget ? double.parse(_budgetController.text) : -1); locator.get<CategoriesController>().saveCategory(newCategory); Navigator.of(context).pop(); } @@ -130,7 +131,7 @@ class _EditCategoryViewState extends State<EditCategoryView> { iconFontFamily: 'MaterialIcons', colorValue: _selectedColor.value, spendings: widget.category!.spendings, - budget: _budget, + budget: _hasBudget ? double.parse(_budgetController.text) : _budget, ); locator.get<CategoriesController>().updateCategory(updatedCategory); diff --git a/trackeroo/lib/frontend/views/edit_settings_view.dart b/trackeroo/lib/frontend/views/edit_settings_view.dart index cbcd80623ee8f48a06f14cb3c6694bd5e9463694..fe215aaf7036930fd9fe576a8132365ca658bffd 100644 --- a/trackeroo/lib/frontend/views/edit_settings_view.dart +++ b/trackeroo/lib/frontend/views/edit_settings_view.dart @@ -157,8 +157,8 @@ class _EditSettingsView extends State<EditSettingsView> { if (pickedFile == null) return; final pickedTemp = File(pickedFile.path); setState(() { - this._imageFile = pickedTemp; - this.imageController = pickedTemp.path; + _imageFile = pickedTemp; + imageController = pickedTemp.path; }); } on PlatformException catch (e) { print('Error$e'.tr); diff --git a/trackeroo/lib/frontend/views/home_view.dart b/trackeroo/lib/frontend/views/home_view.dart index 6cad488c6f50530ebfa6da928f97024eec46998b..ebc013655360f3477a449c3f0e7347dc21373a81 100644 --- a/trackeroo/lib/frontend/views/home_view.dart +++ b/trackeroo/lib/frontend/views/home_view.dart @@ -205,7 +205,7 @@ class _HomeViewState extends State<HomeView> { double categorySum = 0; double avg = 0; for (Transaction tr in transContr.transactionsList) { - if (tr.categoryId == cat.id) { + if (tr.categoryId == cat.id && tr.amount.isNegative) { categorySum += tr.amount; } } diff --git a/trackeroo/lib/logic/models/local_String.dart b/trackeroo/lib/logic/models/local_string.dart similarity index 100% rename from trackeroo/lib/logic/models/local_String.dart rename to trackeroo/lib/logic/models/local_string.dart diff --git a/trackeroo/pubspec.lock b/trackeroo/pubspec.lock index e5efed2e753dfc600883548f634297cc7d747c54..2511361641ffdc71669757e6c82d90154955820c 100644 --- a/trackeroo/pubspec.lock +++ b/trackeroo/pubspec.lock @@ -270,14 +270,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_colorpicker: - dependency: "direct main" - description: - name: flutter_colorpicker - sha256: "458a6ed8ea480eb16ff892aedb4b7092b2804affd7e046591fb03127e8d8ef8b" - url: "https://pub.dev" - source: hosted - version: "1.0.3" flutter_lints: dependency: "direct dev" description: @@ -336,6 +328,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + sha256: "6b6f10f0ce3c42f6552d1c70d2c28d764cf22bb487f50f66cca31dcd5194f4d6" + url: "https://pub.dev" + source: hosted + version: "4.0.4" graphs: dependency: transitive description: diff --git a/trackeroo/pubspec.yaml b/trackeroo/pubspec.yaml index 5edd83fd9f43cce2a5987900959cf30d123bda6e..ebfa741edd3114299e7aea7ffc34eebe86cd03ab 100644 --- a/trackeroo/pubspec.yaml +++ b/trackeroo/pubspec.yaml @@ -31,14 +31,14 @@ dependencies: flutter: sdk: flutter - fl_chart: ^0.62.0 + icons_launcher: ^2.1.2 + google_fonts: ^4.0.4 + get_it: ^7.6.0 hive: ^2.2.3 hive_flutter: ^1.1.0 hive_generator: ^2.0.0 - get_it: ^7.6.0 - flutter_colorpicker: ^1.0.3 + fl_chart: ^0.62.0 rive: ^0.11.3 - icons_launcher: ^2.1.2 get: image_picker: