Software Specs
TheBookies POS software, for the Raspberry PI. This is a software targeted for Groups of Lottery’s Banks, whom sell among other things:
Lottery tickets
Mobile phone prepaid recharges (call minutes’ recharges)
The software is actually oriented to the Dominican Republic and Panamá markets, thus they have specific rules locally oriented.
The actual TheBookies POS software was implemented for the PAX S90 terminal, which is a POS terminal with proprietary OS and C-based API.
The software communicates to a Transaction Server (TS), opening a GPRS modem connection using specific country service providers’s APNs like Claro, Orange among others. Once the a connection is established, the POS software connects to the TS using a specific IP address and Port, and perform a handshake (Login command) and the other transaction commands, using a protocol based on ISO8583 format messages. All the communication is encrypted, therefore the messages are sent encrypted to the server with a session key and PKI. The server receives the message, decode it and process the transaction if it’s valid known one.
Each time the seller sends a successful request to the TS, the POS prints a Receipt/Invoice ticket with information from the sale. Also, the POS must be able to print Lotto Sale and Phone Recharges Reports.
The new client POS software for Linux must have implemented all the actual transactions, supported by the TheBookies Transaction Server. Also, it must be have a Graphical User Interface for Linux.
The current specs are oriented for the Raspberry PI hardware, with a Linux OS. These details will be described in the next sections.
The new software will be implemented on Linux, for the Raspberry PI hardware.
Objectives
The following is the list of objectives to achieve the goal of creating the new The Bookies POS Software for the Raspberry PI technology, based on the PAX S90 actual source code:
Create a new User Interface using one of the following Linux Toolkit Libraries/APIs that may be available for Linux:
Xlib (used by X11/X-Window System)
Gtk+ (used by GNOME) or Cairo
Qt (used by KDE)
Wayland (based on OPENGL/ES API)
Implement the new software for the one of the following Raspberry PI compatible Linux OSes:
Raspbian
Pidora
RiscOS
Consider implementing the software maintaining compatibility with must Linuses like:
CentOS/Red Hat
Ubuntu
Consider implementing the software to connect using one of the following GPRS USB Modems supported by PC Linuses/Raspberry PI Linuses:
Huawei K3565 USB GPRS Modem
ZTE K3565-Z USB GPRS Modem
HUAWEI E220 USB GPRS Modem
Vodafone Mobile Broadband K3770 GPRS Modem
HSPA USB Stick (Huawei Technologies) GPRS Modem
ZTE MF688 GPRS Modem
Implement an Android-IconView look (using Icons) for top level menus.
Use the full screen view, to let user see only the application on the monitor.
Implement all the required transactions that actually support TheBookies POS software into the Raspberry PI technology.
Implement the Offline support similar as the implemented in theBookies POS software
Send all ISO8583 messages encrypted as done actually in TheBookies POS software.
Must implement the actual encryption scheme for TheBookies to achieve compatibility with our
Transaction Server security implementation.
All the top level menus must contain icons. For the Prepaid recharges, we may use provider logos like Claro, Orange, other
Software Development Programmer’s Requirements
The programmer must know the following topics:
C/C++ programming language and standard libraries for Linux. Also, Python may be needed.
Opening modem connections for GPRS with APNs
ISO8583 format; all message are built and formatted using this standard, and then encrypted with a transaction key before sending the packet to the transaction server
Basic cryptography for implementing the message protection.
Note: we have an actual C code for ISO8583 encoding/decoding, therefore, is expected that this code will be ported to the selected Linux platform, with minor changes and refactoring.
Hi, I have more than 7 years of experience on embedded programming, I have complete many projects for various ARM/MIPS/PPC board platforms.
I have done before many projects base on Raspberry Pi, with implementations of tiny OS linux based firmwares with various C programs and copy protections solutions. When is possible I'm trying to avoid the use of whole linux distributions like Rasbian OS for stability and security reasons so I'm building firmware like OS.
I read the project description but I have some questions. The good thing is that PAX S90 has an ARM9 compatible processor so, in theory we can port the code for other platforms like RPI if your old solution has not a library that we cannot use it in a Linux OS.
I guess you mean that you need a new user interface for touch screens (?) is yes, what kind of screen you are thinking to use? I was thinking that a faster path may is to use an pre exist GPL window manager with Android like icons instead to build a new one from scratch but I cannot be sure without further study is the User interface can be compatible with RiscOS.
Always the theory of a new project is far away from the implementation, so is good to discuss it and analyze it a lot before start.
Currently I have 3 RPI version B and 1 RPI version B+ in my lab and 4-5 USB dongles that I have already made GPRS tests in those boards.
I'm a single freelancer I can work for only one project the time and it is very important for me all the details of the project
I have MS in Information Security with research interest of Cryptography.
I have implemented Cryptography algorithms in Java and C, written security solutions in J2EE and Java, have implemented datastructures in Java, and built two websites for research / proof-of-concept purposes. Additionally, ~2 years of IT experience.
I have taken Graduate level courses in Cryptography and Security that dealt with analysis of Cryptographic protocols, my Masters level project involved design of a Cryptographic protocol for a specific authentication problem in three-party settings.
I have executed a number of projects that focussed almost entirely / heavily on Cryptography. I have also written Cryptographically signed Java applet for a J2EE application.
Details about projects executed available on request.
You might want to go through reviews project creators left for me on freelancer.com, see https://www.freelancer.com/u/ciphe.html.
Hi Mate,
WE WILL BE ONLY WORK OUT AND EXPERTISE FOR LINUX.....
I have seen your project post and surely telling you that we have an experience for this kind of project development. We are best in outsourcing business since 2004 and we have 250+ highly skilled developers for Mobile, Web, Animation, Game Development and Internet Marketing.
We have to ask some questions regarding your scope so, kindly go through it:
1) What is your best offer and timeline for this task?
2) When would you expect to start this project development?
3) Please share us your SKYPE for best communication.
We serve you better and expect us to be choosing my company for your project selection area. Awaiting from hear you very soon.....
Cordially,
Vivian
Hi,
I developed POS software for touch-screen terminal (x86). Ubuntu 12.04, C++, PostgreSQL, wxWidgets. Interfacing to bar-code scanner, thermal printer, cash drawer. POS is connected to central server using OpenVPN via 3G modem Vodafone K3773.
I think it is good base to start development of your system.
I have solid experience in network programming, databases, cryptography.
stas_lorents
Hi,
I have very good experience in linux system programming, IPC's, sockets, protocol implementation and networking. I have implementes some standard and proprietary protocols on embedded platform.
I am not sure if i can help you with all your requirement, But i can help you with the socket connention, protocol implementation and encription. I do have a setup.