Skip to content

lubo13/api-farmer

Repository files navigation

PHP Task

Да се реализира система, в която един потребител (фермер) трябва да може да въвежда следната информация:

  1. Договори със следните данни:

    • a. Номер на договор (свободен текст)
    • b. Тип
    • i. аренда
    • ii. собственост
    • c. Начална дата на договора
    • d. Крайна дата на договора
    • e. Рента на декар - ако договорът е тип аренда
    • f. Цена – ако договора е тип собственост.
  2. Имоти със следните данни:

    • a. Уникален номер на имота
    • b. Площ в декари
  3. Арендодатели - хора, от които потребителя е взел имоти под аренда.

    • a. Име и фамилия
    • b. Телефон
    • c. ЕГН
  4. Към всеки един договор трябва да може да се добавят N на брой имота.

  5. Към всеки един имот в договор от тип аренда да може да се добавят N на брой арендодатели т.е. хората, от които е бил взет под аренда.

    • a. Ако има повече от един арендодател за даден имот да се записва колко процента е собствеността му. Сборът на процентите на всички арендодатели не трябва да надвишава 100%.
  6. Справка дължима рента – отделна страница, на която се извежда таблица (grid) със следните колони:

    • a. Номер на договор
    • b. Начална дата на договора
    • c. Крайна дата на договора
    • d. Номер на имот
    • e. Площ на имота(дка)
    • f. Собственик
    • g. Собственик идеална част (дка)
    • h. Дължима рента на собственика
    • i. Дължима рента за целият имот
  7. Справка собствени имоти - отделна страница, на която се извежда таблица (grid) със следните колони:

    • a. Номер на договор
    • b. Дата на закупуване (Началната дата на договора, ако е от тип собственост)
    • c. Площ (дка)
    • d. Цена на имот
    • e. Цена на декар
  8. Под таблицата трябва да има ред с Общо по площ и цена.

  9. Таблиците трябва да позволяват филтриране по:

    • a. Договор
    • b. Номер на имот
    • c. Собственик
    • d. Към дата - при избиране на дата да показва само тези договори, които са активни на тази дата.

Implementation

Result - platform workflow

  1. Регистрира се фермер.
  2. Логвате се с вече регистрирания фермер. В неговия профил ще откриете Api token, който ще ви е нужен, за да използвате API пойтовете.
  3. Тук -> /api ще намерите информация за API пойтовете. (за да ги използвате трябва да се ауторизирате с получения токен -> "Bearer ПОТРЕБИТЕЛСКИ_API_TOKEN")
  4. След като създадете Аренодатели, Имоти и Договори се върнете в акаунта на фермера. Там ще откриете grid таблиците с вече създадената от вас информация (админ - grid таблиците не черпят информация чрез API пойнтовете)

Installation

  1. git clone git@github.com:lubo13/api-farmer.git
  2. cd api-farmer
  3. composer install
  4. edit .env file and change DATABASE_URL with your respective settings
  5. Execute: php bin/console doctrine:database:create
  6. Execute: php bin/console doctrine:migration:migrate
  7. Go to project in browser

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published