Особиста бугалтерія
11 USD1. Спроектувати застосування, розділене на рівні, а також представити у вигляді UML діаграми(-ам) функціонал згідно з варіантом.
1.1. Представити загальну архітектуру застосування, зв’язки між рівнями.
1.2. Представити діаграми класів кожного рівня.
2. Розробити застосування на мові C#, яка відповідає вимогам у варіанті. Відокремити рівні доступу до даних, бізнес логіки та представлення. Для демонстрації роботи використати WebAPI.
1.1. Верхній рівень – представлення (UI), для взаємодії з користувачем. Реалізація – як окремий проект в рішенні (solution). UI повинен бути ASP.NET WebAPI. При цьому на рівні UI повинні бути тільки операції взаємодії з користувачем (без бізнес логіки). UI повинен бути максимально простим, неперевантаженим великою кількістю операцій.
1.2. Проміжний рівень – бізнес логіка, реалізована як бібліотека в рішенні. На цьому рівні реалізований основний функціонал застосування.
1.3. Нижній рівень – бібліотека для доступу до даних. Використати Entity Framework code first. Доступ до даних організувати з використанням шаблонів проектування Repository та Unit of Work (UoF). Репозіторії надають доступ до набору сутностей (entities) певного типу. UoW є точкою єдиного доступу до репозіторіїв та контексту Entity Framework.
3. Шари взаємодіють між собою за наступним принципом: представлення використовує бізнес-логіку, бізнес-логіка – рівень доступу до даних. Для передачі даних крізь шари використовується технологія відображення (mapping). Для зменшення залежностей між рівнями використати DI (Ninject чи Autofac).
4. При необхідності для більшої ізоляції основних рівнів можуть вводитися додаткові рівні (наприклад, винесення Repository та UoW).
5. Діаграма(-и) та вихідний код повинні відповідати основним принципам проектування: OOP, SOLID, Law of Demeter (LoD), DRY, YAGNI, KISS, cohesion – coupling, inheritance with caution.
6. Введені користувачем дані повинні валідуватися.
7. Передбачити обробку виняткових ситуацій.
8. Юніт тести повинні бути написані на NUnit чи XUnit з використанням DI і покривати мінімум 50% функціоналу.
Варіант 1
Застосування, в якому користувач може вести особисту бухгалтерію
Базові операції додавання/ оновлення/ видалення/ отримання інформації по кожній сутності: категорії/ підкатегорії (будь-який рівень вкладеності), рахунки, типи операцій (доходи/ витрати)
- можливість роботи і з декількома типами рахунків доходів / витрат (наприклад, стипендія, зарплата, депозит / кредит в банку і т.д.)
- групування витрат по типах
- кожний дохід / витрата повинен бути прив'язаний до рахунку / типу
- можливість перерахувати кошти з одного рахунку на інший
- можливості аналізу по всіх рахунках / типах і по кожному окремо (дохід, витрата, баланс) за різні часові проміжки
- додатковий бал - реалізація спільних рахунків для різних користувачів (наприклад, витрати по кредиту за квартиру можуть проводиться з рахунків всіх членів сім'ї, які мають дохід)
Current freelance projects in the category C#
Comparative analysis of the effectiveness of custom software (v2.2-field) and reference software (Meshtastic v2.x)
22 USD
Comparative analysis of the effectiveness of custom software (v2.2-field) and reference software (Meshtastic v2.x) on the identical hardware platform (ESP32 + SX1268, 2W) based on the criteria of range, throughput, link stability, and power consumption. Conduct tests with… C & C++, C# ∙ 3 hours 6 minutes back ∙ 2 proposals |
Creation of a plugin for integration with the POS system Syrve, C#Develop a plugin for the Syrve POS system (on-premise), which is installed on the establishment's server. The plugin must: (1) transmit data to our server in real-time — orders, table statuses, payments, receipts; (2) receive commands from Reservble — booking confirmations,… C#, Web Programming ∙ 2 days 23 hours back ∙ 11 proposals |
S1GG1LA person is needed who can take the initial code of the Minecraft launcher for the project, change the design at their discretion, but there are small style requirements for it to be in purple tones. Regarding payment, please suggest a price for the work. However, the budget is… C#, Gaming Apps ∙ 5 days 15 hours back ∙ 7 proposals |
Improvement in the existing version of 1C retail block for the distribution center (DC)In general, I will explain what kind of database we have - There is a main server where there is a retail database (where all receipts are recorded) - a UTP database - where all sales are transferred - it calculates the markup and stock balances - small databases of retail… C & C++, C# ∙ 10 days 15 hours back ∙ 6 proposals |
It is necessary to migrate the current working program from FoxPro to C#.Hello everyone! We have a program in FoxPro (it has several modules, it's an accounting program), we have the source code of the program, and if necessary, we can consult with people who support the current program. What needs to be done: 1. Analyze how everything works,… C#, Desktop Apps ∙ 13 days 6 hours back ∙ 19 proposals |