Custom Database App Dev. - Python + PostgreSQL
$1500-3000 USD
Pago na entrega
Interesting project for a seasoned programmer with solid Python and advanced SQL development knowledge to build real-time event monitoring/trigger application. Some familiarity with the concept of Complex Event Processing is necessary, as this project seeks to achieve rules-based event processing functionality via Python/SQL; and working with a relatively simple data set.
- The preferred dev language is Python
- Front-end configuration UI can be in Python(Django), PHP or RoR.
- Platform is Mac OS X.
- Experience with programming StoredProcs/Functions/Triggers in PostgreSQL's supported Procedural Languages (PL/Python, PL/pgSQL,etc.)
- Exp programming w/ logic algorithms (eg: RETE) and Rule Engine development required - ability to integrate an open-source one.
- Exp with distributed sensor networks preferred
Overview (note: detailed PRD provided under NDA)
The app will continuously poll db tables for temporal object changes (continuous sensor 'on/off' data), process state changes against a set of rules, and then take predefined action if a rule is matched. Note: "Action" is simply the execution of a pre-existing script. The key requirement here is the application 'monitor' the db tables in a ‘continuous query’ fashion as the existing data collector application is continuously inserting records via a persistent connection to the db. The temporal nature of this data makes it very time-sensitive, so the application must be able to detect changes to table records as soon as they occur, in order for decisions to be made instantaneously. Stored Procs/Triggers that take action on table record insertion/update, and integration of Rule Engine logic would be required in conjunction with a continuously looping 'SELECT' query operation executed via wrapper application.
The application UI should provide configuration and scheduling functionality to allow user control over:
a) time of day the trigger runs or is active, b) Time Window size c) which device’s State to compare and d) Timestamp Deltas e) configure the action to be taken (ie: which script to run).
Trigger Rules logic
1) Time-based Triggers:
If Objects’ Boolean state/value {IS, BECOMES} True/False;
Then trigger action if state/value {CHANGES TO True/False, DOES NOT CHANGE}
FOR ‘X TimeUnits’
2) Temporal Pattern Matching between State/Value changes of two Device Objects:
If Object A state/value {IS, BECOMES} True/False;
AND IF Object B state/value {IS, BECOMES} True/False
WITHIN X TimeUnits of another;
Then trigger action.
3) Temporal Pattern Matching between State/Value changes of three Device Objects:
If Object A state/value {IS, BECOMES} True/False;
AND IF Object B state/value {IS, BECOMES} True/False
WITHIN X TimeUnits of Object A;
AND IF Object C state/value {IS, BECOMES} True/False
WITHIN X TimeUnits of Object B;
Then trigger action.
Reference: Apps which describe desired functionality can be found here:
StreamCruncher - [url removed, login to view]
TelegraphCQ - [url removed, login to view]
ESPER - [url removed, login to view]
RuleCore - [url removed, login to view]
Also in [url removed, login to view]
ID do Projeto: #255118
Sobre o projeto
Concedido a:
In-depth experience in PosgreSQL as well as Python/Django. Payment should be splitted by several milestones, each of them will have some complete deliverable.
9 freelancers estão ofertando em média $2800 nesse trabalho
Hi! We are team of highly skilled Ukrainian developers with abundant experience and great capacity for work. If you are interested in getting your project in time, with full functionality and finding safe partner, plea Mais