Nairaland Owner launches a Web Application Development Contest

Earlier in the year, we wrote about the need for developers and why you need to jump into wagon if you are  not yet in. Now, it is getting more interesting.  Seun Osewa of Nairaland launched a web application development contest for Nigeria developers on the 29 of October 2011. The price offerings are:

  • NGN70,000 for the best entry and
  • NGN 30, 000 for the second best entry.

The challenge:

Interested people are expected to develop a proof of concept implementation of a web-app that the Central Bank of Nigeria (CBN) could use to conduct FOREX Auctions. Potential users will be able to register as bidders with their real names and confirmed email addresses. Also, they will be able to load money (Naira) into their accounts to buy dollars in the auction.  The application would also allow them to be able to withdraw dollars from their accounts after successfully buying from the CBN.

The CBN governor will have a special account that can be used to load FOREX reserves and then set up auctions where fixed dollar amounts will be offered to the registered bidders. All registered bidders will get an email alert.  At the end of the auction period, your web app will automatically determine the correct exchange rate, transfer dollars to the winning bidders and deduct the naira equivalents from their accounts.

Requirements:

You are expected to use CherryPy 3.2.2 (latest version) running on Python 3.2.2  as your framework. You need to ensure that you use raw SQL, MySQL 5.5 and InnoDB tables for your data. You will be required to provide the DB schema as a raw .sql file that creates the database. Also, account balances, exchange rates, and all calculations should be accurate to 4 decimal places exactly (not floating point).

Your chance to shine:

Will you take up this challenge? You might be even be a newbie programmer but this is definitely an opportunity for you to sharpen your skills. Forget about your limitation. You just have to show enough interest and have the commitment to follow through. You will definitely find enough resources online that will be of help to you. Just decide that you are going to give this a shot. Even if you don’t win, you would end up being a better programmer.

See below for the full details of the contest.

[showhide type=”pressrelease”]BACKGROUND:

The Central Bank of Nigeria regularly conducts FOREX Auctions in which they sell dollars from our foreign reserves to strengthen the naira.  The participants in the auction indicate the amount of dollars they want and the exchange rate at which they want to buy the dollars.  The CBN looks through the bids and selects an optimal exchange rate at which (almost) all the dollars for sale in the auction will be bought.  Those who offered to buy at that exchange rate or higher will get the amount they asked for at the chosen exchange rate.  Those who offered less naira per dollar than the chosen rate will get nothing.  The rate at which the CBN sold dollars becomes the official exchange rate.  This is simpler than what happens actually in reality, but it’s the model this contest is based on.

CHALLENGE:

To demonstrate your web development skills, I’d like you to develop a proof of concept implementation of a web-app that the CBN could use to conduct FOREX Auctions as described above.  Members of the public will be able to register as bidders with their real names and confirmed email addresses, and load naira into their accounts to buy dollars in the auction.  They’ll also be able to withdraw dollars from their accounts after successfully buying from the CBN. The CBN governor will have a special account that can be used to load FOREX reserves and then set up auctions where fixed dollar amounts will be offered to the registered bidders. All registered bidders will get an email alert.  At the end of the auction period, your web app will automatically determine the correct exchange rate, transfer dollars to the winning bidders and deduct the naira equivalents from their accounts.

TECHNICAL REQUIREMENTS:

  • I need to be able to evaluate your development process, so make sure you use a repo. I prefer HG, but Git is great, and SVN is cool too.  Commits should be frequent and well documented.
  • Use CherryPy 3.2.2 (latest version) as your framework, running on Python 3.2.2 (also latest verison)
  • Use raw SQL, MySQL 5.5 and InnoDB tables for your data. Don’t use an ORM. Provide the DB schema as a raw .sql file that creates the database.
  • Account balances, exchange rates, and all calculations should be accurate to 4 decimal places exactly (not floating point).
  • Don’t waste any time on the look in a browser.  Make it look clean and usable, that’s all.

SUBMISSION:

When you’re ready to submit, just send me your source code repository and CV.  If there are issues, I’ll let you know so you can improve your work and re-submit. This is a sudden death project.  Once I get two great entries, I’ll close the contest and award the prizes by bank deposit. Finishing quickly is very helpful, if work is good enough to win a prize.  So it’s a race: Ready, Set, Go![/showhide]