Skip to content

(EN πŸ‡ΊπŸ‡Έ) Repository of property management companies’ process automation system. (RU πŸ‡·πŸ‡Ί) Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.

License

Notifications You must be signed in to change notification settings

kharitonovAL/o18

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Repository

This readme presented in Russian πŸ‡·πŸ‡Ί and EnglishπŸ‡ΊπŸ‡Έ version.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ 18 (RU πŸ‡·πŸ‡Ί)

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€18 β€” это систСма Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, призванная ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ исполнСния заявок ΠΈ Ρ‚.Π΄.

Π― АлСксСй, ΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΡ€ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π― занимаюсь Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠΌ. ВмСстС со ΠΌΠ½ΠΎΠΉ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΎΠ½ занимаСтся бэком.

Нам Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, качСствСнноС, простоС Π² обслуТивании ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятноС, быстроС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π»ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ систСму Π½Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ΠΎΠΌ, Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ, ΠΏΡ€ΠΈ нСобходимости, ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎ. Π’ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого. Но Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΌΡ‹ приняли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² массы. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ смоТСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅.

Π’ этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ послСдняя рабочая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· сторов ΠΏΠΎΠΊΠ° ΡƒΠ±Ρ€Π°Π½Ρ‹. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ большС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°, Π΅Π³ΠΎ нСльзя Π²Π·ΡΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ "ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ".

Если хочСтся ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π²Π΅Π±-Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° - ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС. Π›ΠΎΠ³ΠΈΠ½: operator@mail.ru, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: operator.

ΠΠ°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΌΡ‹ оставим Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ, поэтому Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π²Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ API ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’Π΅ΡΡŒ UI отрисован Π² Ρ„ΠΈΠ³ΠΌΠ΅ ΠΈ доступСн ΠΏΠΎ ссылкС. НуТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ UI элСмСнты Π±Ρ‹Π»ΠΈ пСрСписаны (ΡƒΠ±Ρ€Π°Π½Ρ‹) Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… экранов Π² мобильной вСрсии Π½Π΅ стали Π΄Π΅Π»Π°Ρ‚ΡŒ (ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ). По ссылкС Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Π° послСдняя вСрсия UI которая Π±Ρ‹Π»Π° ΠΌΠ½ΠΎΠΉ использована. ВСрсия UI для прилоТСния ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π΅ Π±Ρ‹Π»Π° Π·Π°ΠΊΠ°Π·Π°Π½Π° для отрисовки Π² цСлях экономии Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°. Π― ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π» просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρƒ ΠΈ подобию ΠΎΠ±Ρ‰Π΅ΠΉ Ρ‚Π΅ΠΌΡ‹. Π’ Ρ†Π΅Π»ΠΎΠΌ, всС UI элСмСнты Π΅ΡΡ‚ΡŒ, ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°.

ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹

Если Π²Π°ΠΌ интСрСсно ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΈΠ»ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с Π½Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π·:

О ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Бтэк

Бтэк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

  • Ρ„Ρ€ΠΎΠ½Ρ‚ написан Π½Π° Flutter, ΠΏΡ€ΠΈ этом Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² написана с использованиСм Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ BloC, Π° Ρ‡Π°ΡΡ‚ΡŒ с использованиСм MobX;
  • бэк поднят Π½Π° VPS, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Parse Server Π½Π° CentOS;
  • Π±ΠΎΡ‚ написан Π½Π° Dart ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ°, запускаСтся Π½Π° VPS Ρ‡Π΅Ρ€Π΅Π· Docker;
  • для ΠΏΡƒΡˆ-ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Google Firebase - Cloud Messaging, поэтому, Ссли Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ своСй вСрсиСй ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°18, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ Ρ„Π°ΠΉΠ» ΠΎΡ‚ Firebase, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Fierbase Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅;
  • рСгистриация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Parse Server;

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ 4 ΠΏΠ°ΠΏΠΊΠΈ:

  • o18_client - мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ;
  • o18_staff - мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для сотрудников УК;
  • o18_web - Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°;
  • bot_app - Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ Π±ΠΎΡ‚ для ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ;
  • CONF ΠΈ parse_server - ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для Parse Server.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π΅ пСрСписано Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (старый UI) Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π ΠΎΠ»ΠΈ Π² систСмС

Π’ самой систСмС прСдусмотрСна ролСвая модСль доступа. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ:

  • ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€;
  • ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (ΠΎΠ½ ΠΆΠ΅ собствСнник, ΠΎΠ½ ΠΆΠ΅ ΠΆΠΈΡ‚Π΅Π»ΡŒ);
  • сотрудник УК.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» "ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° 18"

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°18 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ.

  • Π’Π΅Π± ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°

    • ΠœΠΎΠ΄ΡƒΠ»ΡŒ заявки

      Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Заявки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ заявки, Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ исполнитСлСй, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡƒΡˆ-увСдомлСния заявитСлям, ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ наряд-задания, ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΏΠΎ заявкам.

    • ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π”ΠΎΠΌΠ°

      ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π”ΠΎΠΌΠΎΠ² позволяСт вСсти Π±Π°Π·Ρƒ Π΄ΠΎΠΌΠΎΠ², ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π΄ΠΎΠΌΠ°, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€, Π»ΠΈΡ†Π΅Π²Ρ‹Ρ… счСтов, собствСнников, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния всСм собствСнникам ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°.

    • ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠΈ

      ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠΎΠ² позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ показания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ собствСнники Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния.

    • ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹

      ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вСсти Π±Π°Π·Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… сотрудников, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сотрудников для доступа ΠΊ систСмС.

  • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния для Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ²

    ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ заявки для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ исполнитСля ΠΈΠ»ΠΈ мастСра, Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ заявки, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… заявках ΠΈΠ»ΠΈ ΠΎΡ‚ руководства.

  • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния для ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²

    Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСния ΠΎΡ‚ УК, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ заявки ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ статус выполнСния, ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ показания счСтчиков ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ баланс Π»ΠΈΡ†Π΅Π²ΠΎΠ³ΠΎ счСта Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅.

  • Telegram Π±ΠΎΡ‚ для ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²

    Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ заявки Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ компанию, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ показания счСтчиков.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ запуску

Запуск Π²Π΅Π± вСрсии (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ o18_web) Π½Π° своСм VPS

  1. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ .env Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΈΜ† Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ /assets. Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΆΠ΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ:
  // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прилоТСния Π² Parse Server
  PARSE_APP_ID=your_app_id_from_parse_server

  // ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ ΠΊΠ»ΡŽΡ‡ прилоТСния Π² Parse Server
  CLIENT_KEY=your_client_key_from_parse_server

  // REST API ΠΊΠ»ΡŽΡ‡ прилоТСния Π² Parse Server
  REST_API_KEY=your_rest_api_key_from_parse_server

  // URL сСрвСра Parse
  PARSE_SERVER_URL=https://<your_parse_server_url>/parse/

  // Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΈΜ† ΠΊΠ»ΡŽΡ‡ FCM
  FCM_SERVER_KEY=your_fcm_server_key
  FCM_URL=https://fcm.googleapis.com/fcm/send
  1. Π”Π°Π»Π΅Π΅ запускаСм сборку web-прилоТСния ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€18. Для этого ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ o18_web ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
flutter clean
flutter pub get
flutter build web -t lib/main_development.dart
  1. ПослС выолнСния Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΈΜ†Π»ΠΎΠ², скопируйтС ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ ΠΈΠ· assets/fonts Π² build/web/assets/fonts, это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ отобраТСния ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΏΠΎ заявкам.

  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .env ΠΈΠ· /assets Π² build/web/assets, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ запустится ΠΈΠ·-Π·Π° отсутствия сСкрСтных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

  3. Π Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ сборку Π½Π° сСрвСрС (я использовал ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ rsync), Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½.

rsync -rvzhe ssh build/web/* root@<your_parse_server_ip_address>:/var/www/operator18.ru

// ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π° вашСм сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ - /var/www/operator18.ru

Запуск ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ смСло Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ/ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π³Π°ΠΉΠ΄Ρƒ ΠΎΡ‚ Flutter.

НуТно Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прилоТСния для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ:

  • iOS

    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Xcode ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ свою ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ bundleId;
  • Android

    • Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ свой applicationId Π² ΡΠ»ΡƒΠ΄ΡƒΡŽΡ‰ΠΈΠ΅ мСста:
      • android/app/build.gradle
      • android/app/src/main/AndroidManifest.xml

Operator 18 (EN πŸ‡ΊπŸ‡Έ)

From the Author

Operator 18 is an automation system for property management companies designed to simplify their work, enhance control over order execution, and more.

I'm Alexey, the founder and author of this project. I handle the frontend. I'm working on the project alongside another co-founder who manages the backend.

We aimed to create a solution that is adequate, high-quality, easy to maintain and deploy, intuitively understandable, and fast. As a developer, I wanted to build a system that is not a monolith but one where the code can be easily maintained and modularly changed if necessary. We partially achieved this goal, but we lack the time to fully implement the project.

Therefore, we have decided to release the project to the public. Perhaps someone can implement it or improve upon it.

In this repository, you'll find the latest working version of the project. The applications from app stores have been removed for now. Anyone can use and interact with the repository. It's worth noting that this repository is more intended for developers because, at least for now, it can't be easily set up and run "out of the box."

If you want to see the working web version of the operator's dashboard, follow this link. Login: operator@mail.ru, password: operator.

We will keep our version working, so you won't find API keys and other sensitive information in this repository.

The entire UI is designed in Figma and is available via this link. It's important to note that some UI elements were rewritten (removed) during development, and some screens in the mobile version were not created for various reasons. The link contains the latest version of the UI that I used. The UI version for the resident application was not ordered for drawing to save on the budget. I planned to create it in the same theme. In general, all UI elements are available, and completing the resident application should not be a problem.

Contacts

If you are interested in participating in the project, implementing it, or supporting it, you can contact us through:

About the Project

Tech Stack

The technology stack used in the development includes:

  • Frontend is built with Flutter, with some projects using the BloC architecture, and others using MobX.
  • Backend is hosted on a VPS, running Parse Server on CentOS.
  • The bot is written in Dart and is only for Telegram, running on a VPS through Docker.
  • Google Firebase - Cloud Messaging is used for push notifications. So, if you work on your own version of Operator18, don't forget to add the Firebase config file and initialize Firebase in the project.
  • User registration is handled by Parse Server.

Repository

In the repository, you will find four folders:

  • o18_client - mobile application for residents.
  • o18_staff - mobile application for property management company staff.
  • o18_web - web application for the operator.
  • bot_app - Telegram bot for residents.
  • CONF and parse_server - configuration files for Parse Server.

The application for residents has not been updated to the second version (old UI) due to time constraints.

Roles in the System

The system itself includes a role-based access model with the following roles:

  • Operator.
  • Client (also known as an owner or resident).
  • Property management company staff.

Operator 18 Features

Operator 18 has the following functionality.

  • Operator Web Dashboard

    • Requests Module

      In the Requests module, the operator can create/edit requests, assign tasks to performers, send push notifications to applicants, print work orders, and print various journals related to requests.

    • Houses Module

      The Houses module allows managing the database of houses, house profiles, lists of apartments, personal accounts, owners, and sending messages to all owners of a specific house.

    • Meters Module

      The Meters module enables viewing readings submitted by owners through mobile applications.

    • Counterparties Module

      The Counterparties module provides the ability to manage a database of counterparties and their employees, as well as register employees for access to the system.

  • Mobile Applications for Staff

    The application allows viewing requests for a specific performer or technician, closing or rescheduling requests, and receiving notifications about new requests or messages from management.

  • Mobile Applications for Clients

    In the application, clients can receive messages from the property management company, create requests, track the status of execution, submit meter readings, and monitor the balance of their personal account in their profile.

  • Telegram Bot for Clients

    With the bot, clients can submit requests to the property management company and submit meter readings.

Installation Instructions

Running the Web Version (o18_web repository) on Your VPS

  1. First, prepare an .env file that should be placed in the /assets folder. This file should contain the following keys:
  // Parse Server Application ID
  PARSE_APP_ID=your_app_id_from_parse_server

  // Parse Server Client Key
  CLIENT_KEY=your_client_key_from_parse_server

  // Parse Server REST API Key
  REST_API_KEY=your_rest_api_key_from_parse_server

  // Parse Server URL
  PARSE_SERVER_URL=https://<your_parse_server_url>/parse/

  // Firebase Cloud Messaging Secret Key
  FCM_SERVER_KEY=your_fcm_server_key
  FCM_URL=https://fcm.googleapis.com/fcm/send
  1. Next, build the Operator 18 web application. To do this, open your terminal, navigate to the o18_web folder, and run the following commands:
flutter clean
flutter pub get
flutter build web -t lib/main_development.dart
  1. After generating the files, copy the fonts from assets/fonts to build/web/assets/fonts to ensure proper font rendering for printing various journals related to requests.

  2. Copy the .env file from /assets to build/web/assets. Otherwise, the application won't start due to missing secret keys.

  3. Deploy the new build to your server (I used the rsync utility) by running the following command in your terminal. Enter the root user's password when prompted.

rsync -rvzhe ssh build/web/* root@<your_parse_server_ip_address>:/var/www/operator18.ru

// The final path on your server may differ from the one specified here - /var/www/operator18.ru

Running the Mobile Applications

You can confidently run/build the mobile applications following the official Flutter deployment guide.

You should also change the application identifier for the platforms:

  • iOS

    • Open Xcode and assign your team to the project, and use a unique bundleId.
  • Android

    • Update your applicationId in the following places:
      • android/app/build.gradle
      • android/app/src

About

(EN πŸ‡ΊπŸ‡Έ) Repository of property management companies’ process automation system. (RU πŸ‡·πŸ‡Ί) Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published