Infosys
A tool to manage roleplaying convention data.
Introduction
I started writing Infosys because a roleplaying convention I volunteer at needed a better system to handle data. Having worked with the old system, I thought it better to write the new one from scratch. Obviously there was a fair amount of adventurousness involved as well, though – there’s always the interest in building something involved, a certain DIY streak in me.
At first, there was absolutely no intention of building the framework from scratch though – I only intended to make the application. My idea was to implement it in Zend but it didn’t take long before I hit a massive obstacle: the webhost I planned to use for testing had never bothered to install PDOs for MySQL and certainly couldn’t be bothered to do so when asked. After mucking about with various hacks I got too annoyed with Zend for knowing better and decided to scrap their framework. And thus I built my own.
At first the system was only meant to be a backend for handling data at the convention but together with a friend I plan to extend it a bit to also handle signups for conventions.
General info
The system is a based on the MVC pattern with a typical framework setup. The code consists of:
- bootstrapping code
- framework support code (request handling, routing, database access, etc)
- MVC setup
There’s a heavy use of ORM but somewhat unlike your typical MVC framework the ORMs are not identical with the models in the MVC – the ORMs are small, generic entities where all general data handling takes place. The models handle application specific data interaction – i.e. entities do general data processing while models do specific and complex data processing.
One of the underlying design decisions in this framework is to give the MVC apps as much freedom as possible. Hence, controllers decide pretty much everything that’s going to happen when a request is made – and little happens if the controller doesn’t do anything.
Use
Infosys is being used for Fastaval and for Con2.
Source
Github repo is at http://github.com/Fake51/Infosys/tree/master. The sources are licensed under GPL v3.
Hej Peter!
Lyder spændende, dit projekt :-)
Hvis du vil have nogen at sparre ideer med, er jeg meget interesseret – både generelle design ting, og især UI-design
Vi snakkes, om ikke før, så til påske ;)
:D
Jo, det vil være fedt med noget input – når man laver sådan noget alene er der altid ting man blænder af, uden egentlig grund, så ideer er helt sikkert velkomne … og hvis du skulle få lyst til at contribute så er projektet jo som pointeret nu open source :)
Ha det rart og hils
Peter
Really well-written article, thank you for writing about this. You have a lot of educational information on your site, thanks again! I found a brief primer on Software Testing, do you think it is any good? I’m curious about such introductory articles for someone who is thinking about getting into Testing. Visit my site if you’d like to read more.