Tag Archive for 'JITBrain'

JITBrain – Item Model

I have posted the articles explaining:

The next step will be to discuss the AJAX-based interface, which can already be seen (at least in part) on the demo website by creating yourself a new account:

http://jitbrain.nicollet.net

JITBrain currently contains 2224 lines of PHP code, and not all of them have been discussed yet. I will start counting the Javascript soon, as well.

   25 config/db.php
   54 config/domain.php
   17 config/error.php

   31 controllers/ajax-post.php
   19 controllers/confirm.php
   52 controllers/do-login.php
  107 controllers/do-reset-password.php
   82 controllers/do-signup.php
   70 controllers/files.php
   24 controllers/index.php
   17 controllers/login.php
   27 controllers/reset-password.php

   83 models/authentication.php
   40 models/group.php
   98 models/groupusers.php
  170 models/item.php
  292 models/itemrevision.php
   34 models/user.php
   39 objects/html.php
   77 objects/lazy.php

   21 utils/array.php
  154 utils/db.php
   67 utils/error.php
   31 utils/item.php
   10 utils/js.php
    9 utils/localization.php
   53 utils/pervasive.php
   27 utils/redirect.php
   88 utils/request.php
   40 utils/session.php

   27 views/confirm.php
   24 views/itemlist.php
   69 views/loginpage.php
   29 views/newitemfield.php
   18 views/page404.php
   40 views/plainpage.php
  101 views/resetpassword.php
   58 views/twocolform.php

 2224 total

JITBrain – The Graph

Lo and behold: all the modules available in JITBrain so far, and their interdependencies:

Click to enlarge

These modules have been automatically extracted from the source code by grepping for “(.*)::” and “new (.*)”, then the class-file associations have been determined using the autoloader code, and the result was fed to dot (from Graphviz) to generate the graph.

JITBrain – Login Reloaded

The login page is functional and skinned! You can now login, sign up, retrieve your password, and if you were trying to do something that requires an authentication, you will be able to resume that once you authenticate. The corresponding articles have been added to the ongoing series: Delayed Requests, Password Recovery and Stylesheets.

The next step is to design the core of the JITBrain application: the form that lets the user add an issue to the tracker. It has to be carefully balanced for optimal usability, so expect a lot of tweaking and AJAX programming (and an introduction to jQuery).

So far, JITBrain is 1286 lines of PHP (not counting the CSS, obviously):

   20 config/db.php
   54 config/domain.php
   17 config/error.php

   19 controllers/confirm.php
   50 controllers/do-login.php
   99 controllers/do-reset-password.php
   78 controllers/do-signup.php
   43 controllers/files.php
    3 controllers/index.php
   17 controllers/login.php
   25 controllers/reset-password.php

   83 models/authentication.php

   77 objects/lazy.php

  115 utils/db.php
   67 utils/error.php
   52 utils/pervasive.php
   27 utils/redirect.php
   88 utils/request.php
   40 utils/session.php

   27 views/confirm.php
   68 views/loginpage.php
   17 views/page404.php
   37 views/plainpage.php
  105 views/resetpassword.php
   58 views/twocolform.php

 1286 total

Enjoy your read!

JITBrain – Authentication Model

Posted a new article: Authentication Model. Also made some retroactive modifications to take into account new details about DomainConfig::Url.

The next steps are:

  • Handling the interruption in the user action created by the login requirements, so that the user activity is resumed after the process.
  • Resetting the user password.
  • Applying some lipstick to the login page to make it look better, and include some JavaScript.

JITBrain contains 843 lines of PHP so far.

   20 config/db.php
   48 config/domain.php
   17 config/error.php
   45 controllers/do-login.php
   66 controllers/do-signup.php
    3 controllers/index.php
   14 controllers/login.php
   70 models/authentication.php
   77 objects/lazy.php
  115 utils/db.php
   67 utils/error.php
   52 utils/pervasive.php
   27 utils/redirect.php
   40 utils/request.php
   40 utils/session.php
   67 views/loginpage.php
   17 views/plainpage.php
   58 views/twocolform.php
  843 total

JITBrain

Some of you may have wondered, what is this secret project he is working on?

The project is called JITBrain. In itself, it’s nothing quite groundbreaking, merely an issue tracking platform that services two categories of users:

  • Individuals that have a lot to do but never seem to manage it. These are helped by features such as extremely simple todo-list manipulation, a search engine for looking at previous tasks and retrieving important information, and helpful statistics.
  • Teams that must collaborate on projects. These are helped by features such as issue tracking, simple workflows, attached links and files, planning poker, reporting charts, and motivational gizmos.

The unusual thing about the project is the development method: it builds upon my earlier ramblings on snippet-oriented development (developing quality software by actively thinking of the people who will read and reuse the code) to actually become an advanced tutorial in itself. This brings yet another benefit, since the code is not only designed in short bursts of concisely explained functionality, but a complete documentation and log is being written along with it.

As such, it has the additional purpose of serving as a simple reference for “classic mistakes” both in technical and functional areas in the development of a website.

The tutorial advances along with the development of the system, which means you can see the tutorial or look at the website.



1170 feed subscribers
(readers who polled a feed this week)