Billing Server

Closed Posted Jun 10, 2007 Paid on delivery
Closed Paid on delivery

We need to add new billing process on to our Server.

Here is brief description, more details, sample Database tables are available on request.

Billing is used to charge user for sending messages. Billing server accepts messages from users, each message among other parameters contains destination number to send the message to. Database contains credit amount for each user (users table) and price for each user and destination (billing table). Server accepts message of each user, checks in the database if user has enough credit to send to the specific destination, then checks if user has permission to send to that destination (checks billing table) and stores the message in queue table if those conditions satisfied, otherwise rejects the message.

Server periodically reads billing table into memory for each active user, and removes biling table from memory of inactive users for more than 30 minutes. Server must be written in C++ for Linux platform using libc. Communication is made via sockets, multithreading via pthreads library, database is PostgreSQL so libpq or pqxx must be used. Billing accepts data in Base64 format so functions used for this must be given with source code and license which allows free commercial or non-commercial use. Server should process data in thread-pool manner; that means, data received from client sockets should be stored in queue waiting for processing by fixed number of threads.

## Deliverables

1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

Linux platform

PostgreSQL

C Programming Database Administration Engineering Linux MySQL PHP Software Architecture Software Testing SQL

Project ID: #3028885

About the project

7 proposals Remote project Active Jul 1, 2007

7 freelancers are bidding on average $850 for this job

zhijun

See private message.

$1700 USD in 14 days
(26 Reviews)
5.2
mnirahd

See private message.

$510 USD in 14 days
(2 Reviews)
2.2
phil42

See private message.

$850 USD in 14 days
(1 Review)
2.2
hexadecimalvw

See private message.

$340 USD in 14 days
(0 Reviews)
0.0
i2Soft

See private message.

$680 USD in 14 days
(0 Reviews)
0.0
vcans

See private message.

$1700 USD in 14 days
(0 Reviews)
5.1
maxaeran

See private message.

$170 USD in 14 days
(1 Review)
0.0