1

Тема: Покртитикуйте проект на git хабі

https://github.com/Vo-Vik/income-expenditure-counter

Структура бази даних наведена в гіті. Вона трохи корява, бо створювалась з екселівської таблички в якій раніше вівся облік.

Ціль проекту, ведення обліку приходу і розходу сімейного бюджету з розбивкою по категоріях
Використано Yii версії 1.1.12.

Тулзя написана за 2 вечори після робочого дня, так що може поки виглядати трохи коряво. Будем шліфувати) Так сказати проба гітхабу.
Отже чекаю на критику, відчуваю її буде багато.

2

Re: Покртитикуйте проект на git хабі

критикувати особливо нічого, крад і згенеровані моделі)
accessRules винеси в controller, нашо дублюватися

3

Re: Покртитикуйте проект на git хабі

і юзай rbac

4

Re: Покртитикуйте проект на git хабі

main.php~ що за назва файлу в конфігах ?:)
А так хз що коментувати. Давайте демо десь викладіть ;)
Успіху у проекті ;)

Отже чекаю на критику, відчуваю її буде багато.

Критики буде багато коли буде якийсь проект який написаний вами. бо реально генерований код нема смислу критикувати) ;)

Подякували: Vo_Vik1

5

Re: Покртитикуйте проект на git хабі

це тимачсови файл здається

6

Re: Покртитикуйте проект на git хабі

або бекап версії, одним словом шось редактор робить

7

Re: Покртитикуйте проект на git хабі

або бекап версії, одним словом щось редактор робить


я знаю що тимчасовий, як він у гілку попав я це мав на увазі)))

8

Re: Покртитикуйте проект на git хабі

та туда ше робочий конфіг попав)
Vo_Vik юзай .gitignore

9

Re: Покртитикуйте проект на git хабі

О-о, з main.php~ проїхав, не побачив його в першому коміті коли все скопом комітив. git ігноре є, просто чогось пропустило. В любому випадку перезалив гілку з перезібраними комітами.
Дуже дякую.

На рахунок критики хотілось би почути таке, на рахунок конфігу віджетів прямо в файлі форми, це нормально чи треба кудась винести?

Вечероком сяду, ще трохи дизайн поміняю. І добавлю підтримку кількох юзерів.

10 Востаннє редагувалося miroslav.chandler (24.10.2012 14:33:31)

Re: Покртитикуйте проект на git хабі

На рахунок критики хотілось би почути таке, на рахунок конфігу віджетів прямо в файлі форми, це нормально чи треба кудась винести?

нууу.. страшного нічого нема, але якшо віджет з такими самими налаштуванням використовється ще десь, то да, можна десь винести.

по дефолту в краді є віджети, listView, gridView, значить не суперечить концепціям уіі

Подякували: Vo_Vik1

11

Re: Покртитикуйте проект на git хабі

Появилась ідея взагалі конфіги поза директорією видимою з вебу і відповідно поза гітом, прописати в path перше шлях туди. А в гіті зберегти дефолтний конфіг, бо з git ігноре там просто файлу немає.

12

Re: Покртитикуйте проект на git хабі

конфіг зєднання з бд, треба винести в окремий файл(наприклад db.php), а в мейн, його підключати
а в .gitignore добавити

/protected/runtime
/assets
/protected/config/db.php
Подякували: Vo_Vik1

13

Re: Покртитикуйте проект на git хабі

Рантайм вроды є в git ігноре.
а що таке /assets? так бачу ніби кеш, вроді після установки нічого там не мінялось, то поки лежить в коміті, хоча напевно таки треба витягнути.
Дякую.

14

Re: Покртитикуйте проект на git хабі

ресурси, туда попадають скрипти\цсски, наприклад, для listView і ресурси з модулів

15

Re: Покртитикуйте проект на git хабі

Добавив ще 2 коміти, тепер можна ще критикувати.
Цікавить таке питання є в моделі
    public function totals($onlyThisMonth = false)
    {
        $criteria = new CDbCriteria;
        $criteria->select = "SUM(amount) as amount";
        if($onlyThisMonth)
        {
            $criteria->condition = "date >=DATE_FORMAT(NOW() ,'%Y-%m-01')";
        }

        return $this->find($criteria)->getAttribute('amount');
    }
Якщо поміняти "as amount" на "as total", то як потім добратись, то того тотала в гетАтрібут?
є ідея добивити сюди:
            // The following rule is used by search().
            // Please remove those attributes that should not be searched.
            array('id, name, amount, date, class_id', 'safe', 'on'=>'search'),
але ще не попробував.

І будь-ласка гляньте на вюху для індекса, бо я щось невпевнений, що я там добре моделі використовую, можливо то варто зробити через контролер?

Дуже всім дякую.

16 Востаннє редагувалося miroslav.chandler (25.10.2012 07:34:05)

Re: Покртитикуйте проект на git хабі

<p><a href="?r=expenditure/admin">Manage your expenditure</a><br />

fuuuuuuu

right way

<p><a href="<?$this->createUrl('expenditure/admin');?>">Manage your expenditure</a><br />

getAttribute() для чого? просто звертайтеся до поля класу.

зробіть публічне поле
public $total;

ага, оголошувати обєкт треба в класі

Подякували: Vo_Vik1

17

Re: Покртитикуйте проект на git хабі

Як варіант.

$sql = "SELECT COUNT(*) FROM client_table";
$numClients = Yii::app()->db->createCommand($sql)->queryScalar();

Кусок критики ;) зробіть клас для відправлення повідомлень і хай він сам шарить які хедери проставляти ;) Так буде зручніше і в майбутньому легше буде звіти слати на пошту :)

$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
                $subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
                $headers="From: $name <{$model->email}>\r\n".
                    "Reply-To: {$model->email}\r\n".
                    "MIME-Version: 1.0\r\n".
                    "Content-type: text/plain; charset=UTF-8";

                mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);

18 Востаннє редагувалося Vo_Vik (25.10.2012 14:00:44)

Re: Покртитикуйте проект на git хабі

<p><a href="?r=expenditure/admin">Manage your expenditure</a><br />

fuuuuuuu

right way

 

  <p><a href="<?$this->createUrl('expenditure/admin');?>">Manage your expenditure</a><br />

О це я проїхав, що значить відсутність досвіду роботи з Фреймворками, дякую
Тільки там ще дорівнює треба перед this поставити)

19 Востаннє редагувалося miroslav.chandler (25.10.2012 14:07:05)

Re: Покртитикуйте проект на git хабі

ага, то я ше крізь сон писав)
Там ше є така штука як CHtml::link(), тіки я принципово не користуюся, бо html має бути html imho)

20

Re: Покртитикуйте проект на git хабі

ага, оголошувати обєкт треба в класі

А як потім до них достукуватись з форми, вони ж невидимі там? пробув як просто обєкт і через $this...