This is one of the most serious projects that I've recently created. It's a physical building security and alarm system. For example, when you arrive at your office your boss gets an alert over a text message or email that you have arrived. Or, if you have left on vacation and someone breaks into your home, you get an alert about this event (and security is dispatched to your home). It also has a web interface where you can see the security event history.
It's closed source and runs on Linux to avoid licensing costs and possible virus and malware attacks. It's written in C with some parts in C++ and the web interface in PHP. It has a ncurses interface based on curses development kit for editing the guarded objects via shell. The data is stored in a set of gnu dbm databases.
The system has run for 7 years now without any issues and has sold numerous copies.
Here are a few screenshots from ncurses based part of the system (some parts blurred and edited out to respect privacy of customers). Here is the record for my place,
A list of all objects (places that are guarded),
It's also multilingual as it's used internationally,
Regular alerts for the previous day can be set up,
The other possibility is to set up alerts for a group of objects. For example, if you own a chain of shops, you'd like your security officer to receive a summary of all the stuff that happened in all the stores yesterday,
The system also keeps the log files of everything that has ever happened. So, for example, I can find what went at my place in, say, November of 2005:
(Nov 01 2005, 09:35:18) mid='00', object='----', event='C2', email='peteris.krumins@gmail.com', mobile='-------', type='CLO', floc='pkrumins place', sloc='pkrumins', msg='mom close' (Nov 01 2005, 19:04:20) mid='00', object='----', event='B3', email='peteris.krumins@gmail.com', mobile='-------', type='OPN', floc='pkrumins place', sloc='pkrumins', msg='dad open' ... (Nov 29 2005, 10:42:56) mid='00', object='----', event='C2', email='peteris.krumins@gmail.com', mobile='-------', type='CLO', floc='pkrumins place', sloc='pkrumins', msg='mom close' (Nov 29 2005, 17:30:57) mid='00', object='----', event='B3', email='peteris.krumins@gmail.com', mobile='-------', type='OPN', floc='pkrumins place', sloc='pkrumins', msg='dad open'
The system also has a web interface where people who have their objects under alarm can see all the history in a much friendlier way,
When the user logins, he or she is presented with overview of his objects,
Users can also see the history,
The result is pretty neat looking,
There is also admin part of the web system, where the admin can add and edit users,
I also made a custom boot CD for the system, in case it needs to be installed on a new machine. Then it's just a matter of entering a few commands and the installation completes itself:
After typing install big
, the system with web server is installed in a couple of minutes,
This pretty much sums up what this system is doing. It was fun making it. I made good money and learned a few new things, too.