Домашни > Време е да помислите за проектите си! > Решения > Решението на Димитър Фенерски

Резултати
0 точки от тестове
5 точки от учител

5 точки общо

0 успешни теста
0 неуспешни теста
Код

 1"""
 2[Title/Звание]
 3
 4ReFi: ETL Анализатор на Трансакции
 5
 6[Description/Обрисовка]
 7
 8ReFi е ETL пайплайн, който извлича данни от Revolut чрез Python, нормализира ги и ги съхранява в база данни MongoDB или SQLite.
 9Приложението предоставя команден интерфейс за генериране на детайлни графики и анализи на личните финанси с помощта на matplotlib, помагайки на потребителите да разберат и управляват по-добре своите разходи.
10
11[Functionalities/Надарености]
12
13- **Извличане на данни от Revolut API**: Автоматизирано сваляне на данни за трансакции чрез официалното API на Revolut.
14- **Нормализация и съхранение на данни**: Обработка и нормализиране на извлечените данни и съхранението им в MongoDB или SQLite база данни.
15- **Генериране на графики и отчети**: Създаване на визуализации и отчети на база данните, използвайки matplotlib.
16- **Команден интерфейс**: Интуитивен CLI за взаимодействие с приложението и достъп до различни функционалности.
17- **Филтриране и агрегиране**: Възможност за филтриране на данните по дата, категория, сума и други критерии.
18- **Автоматизация**: Опция за планирано извличане и обновяване на данните чрез скриптове.
19
20[Milestones/Възлови точки]
21
221. **Модул за извличане на данни от Revolut API**:
23   - Настройка на достъпа до API.
24   - Имплементация на функции за сваляне на данни.
252. **Модул за нормализация и съхранение**:
26   - Обработка на данните и конвертиране в подходящ формат.
27   - Съхранение в MongoDB или SQLite.
283. **Модул за обработка на данните с Pandas**:
29   - Зареждане на данните от базата.
30   - Филтриране и агрегиране.
314. **Модул за визуализация с matplotlib**:
32   - Създаване на графики като бар диаграми, пай диаграми и линии.
33   - Експорт на графиките в различни формати.
345. **Команден интерфейс**:
35   - Разработка на CLI.
36   - Добавяне на команди за различните функционалности.
376. **Автоматизация и скриптове**:
38   - Създаване на скриптове за автоматично обновяване.
39   - Документация и инструкции за използване.
40
41[Estimate in man-hours/Времеоценка в човекочасове]
42
43- Модул за извличане на данни: 8 часа
44- Нормализация и съхранение на данни: 8 часа
45- Обработка на данните с Pandas: 6 часа
46- Визуализация с matplotlib: 8 часа
47- Команден интерфейс: 6 часа
48- Автоматизация и тестове: 4 часа
49- **Общо**: 40 човекочаса
50
51[Usage of technologies/Потребление на технологии]
52
53- **Revolut API**
54- **MongoDB или SQLite**: За база данни.
55- **Pandas**: За обработка и анализ на данните.
56- **Matplotlib**: За създаване на графики и визуализации.
57- **GitHub**: За контрол на версиите и сътрудничество.
58"""


----------------------------------------------------------------------
Ran 0 tests in 0.000s

NO TESTS RAN

Дискусия
Георги Кунчев
03.12.2024 16:49

Звучи добре и ми харесва, че разчиташ на собствена имплементация на почти всичко. Това ще ти даде възможност да покажеш добър дизайн, така че планувай добре в тази насока. Частта с "Автоматизация"-та не ми стана ясна. Ако очакваме потребителят сам да дефинира скриптове, то това пайтън код ли ще е, или ще имаш някакъв парсър, така че потребителя да може да дефинираш автоматизациите си "интуитивно", "без знания по програмиране"? И двете са валидни. И двете могат да са интереси задачи.
История

f1"""f1"""
2[Title/Звание]2[Title/Звание]
33
4ReFi: ETL Анализатор на Трансакции4ReFi: ETL Анализатор на Трансакции
55
6[Description/Обрисовка]6[Description/Обрисовка]
77
t8ReFi е мощен ETL пайплайн, който извлича данни от Revolut чрез Python, нормализира ги и ги съхранява в база данни MongoDB или SQLite.t8ReFi е ETL пайплайн, който извлича данни от Revolut чрез Python, нормализира ги и ги съхранява в база данни MongoDB или SQLite.
9Приложението предоставя команден интерфейс за генериране на детайлни графики и анализи на личните финанси с помощта на matplotlib, помагайки на потребителите да разберат и управляват по-добре своите разходи.9Приложението предоставя команден интерфейс за генериране на детайлни графики и анализи на личните финанси с помощта на matplotlib, помагайки на потребителите да разберат и управляват по-добре своите разходи.
1010
11[Functionalities/Надарености]11[Functionalities/Надарености]
1212
13- **Извличане на данни от Revolut API**: Автоматизирано сваляне на данни за трансакции чрез официалното API на Revolut.13- **Извличане на данни от Revolut API**: Автоматизирано сваляне на данни за трансакции чрез официалното API на Revolut.
14- **Нормализация и съхранение на данни**: Обработка и нормализиране на извлечените данни и съхранението им в MongoDB или SQLite база данни.14- **Нормализация и съхранение на данни**: Обработка и нормализиране на извлечените данни и съхранението им в MongoDB или SQLite база данни.
15- **Генериране на графики и отчети**: Създаване на визуализации и отчети на база данните, използвайки matplotlib.15- **Генериране на графики и отчети**: Създаване на визуализации и отчети на база данните, използвайки matplotlib.
16- **Команден интерфейс**: Интуитивен CLI за взаимодействие с приложението и достъп до различни функционалности.16- **Команден интерфейс**: Интуитивен CLI за взаимодействие с приложението и достъп до различни функционалности.
17- **Филтриране и агрегиране**: Възможност за филтриране на данните по дата, категория, сума и други критерии.17- **Филтриране и агрегиране**: Възможност за филтриране на данните по дата, категория, сума и други критерии.
18- **Автоматизация**: Опция за планирано извличане и обновяване на данните чрез скриптове.18- **Автоматизация**: Опция за планирано извличане и обновяване на данните чрез скриптове.
1919
20[Milestones/Възлови точки]20[Milestones/Възлови точки]
2121
221. **Модул за извличане на данни от Revolut API**:221. **Модул за извличане на данни от Revolut API**:
23   - Настройка на достъпа до API.23   - Настройка на достъпа до API.
24   - Имплементация на функции за сваляне на данни.24   - Имплементация на функции за сваляне на данни.
252. **Модул за нормализация и съхранение**:252. **Модул за нормализация и съхранение**:
26   - Обработка на данните и конвертиране в подходящ формат.26   - Обработка на данните и конвертиране в подходящ формат.
27   - Съхранение в MongoDB или SQLite.27   - Съхранение в MongoDB или SQLite.
283. **Модул за обработка на данните с Pandas**:283. **Модул за обработка на данните с Pandas**:
29   - Зареждане на данните от базата.29   - Зареждане на данните от базата.
30   - Филтриране и агрегиране.30   - Филтриране и агрегиране.
314. **Модул за визуализация с matplotlib**:314. **Модул за визуализация с matplotlib**:
32   - Създаване на графики като бар диаграми, пай диаграми и линии.32   - Създаване на графики като бар диаграми, пай диаграми и линии.
33   - Експорт на графиките в различни формати.33   - Експорт на графиките в различни формати.
345. **Команден интерфейс**:345. **Команден интерфейс**:
35   - Разработка на CLI.35   - Разработка на CLI.
36   - Добавяне на команди за различните функционалности.36   - Добавяне на команди за различните функционалности.
376. **Автоматизация и скриптове**:376. **Автоматизация и скриптове**:
38   - Създаване на скриптове за автоматично обновяване.38   - Създаване на скриптове за автоматично обновяване.
39   - Документация и инструкции за използване.39   - Документация и инструкции за използване.
4040
41[Estimate in man-hours/Времеоценка в човекочасове]41[Estimate in man-hours/Времеоценка в човекочасове]
4242
43- Модул за извличане на данни: 8 часа43- Модул за извличане на данни: 8 часа
44- Нормализация и съхранение на данни: 8 часа44- Нормализация и съхранение на данни: 8 часа
45- Обработка на данните с Pandas: 6 часа45- Обработка на данните с Pandas: 6 часа
46- Визуализация с matplotlib: 8 часа46- Визуализация с matplotlib: 8 часа
47- Команден интерфейс: 6 часа47- Команден интерфейс: 6 часа
48- Автоматизация и тестове: 4 часа48- Автоматизация и тестове: 4 часа
49- **Общо**: 40 човекочаса49- **Общо**: 40 човекочаса
5050
51[Usage of technologies/Потребление на технологии]51[Usage of technologies/Потребление на технологии]
5252
53- **Revolut API**53- **Revolut API**
54- **MongoDB или SQLite**: За база данни.54- **MongoDB или SQLite**: За база данни.
55- **Pandas**: За обработка и анализ на данните.55- **Pandas**: За обработка и анализ на данните.
56- **Matplotlib**: За създаване на графики и визуализации.56- **Matplotlib**: За създаване на графики и визуализации.
57- **GitHub**: За контрол на версиите и сътрудничество.57- **GitHub**: За контрол на версиите и сътрудничество.
58"""58"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op