Challenge Overview
Project Overview
SoftBank is a Japanese multinational telecommunications and Internetcorporation, with operations in broadband, e-commerce, Internet,technology services, and other businesses.
A blockchain, widely known as the base technology of Bitcoin, is a distributed database that maintains a list of transactional data records hardened against tampering and revision.
SoftBank is going to develop the new platform based on the blockchain technology and a variety of services on top of it.
- As a proof of concept, they are going to develop a prototype of Blockchain based Donation Service.
- In this service prototype, each donation is recorded into the blockchain and everyone can see how their money is distributed and used.
- Volunteers provide their computing resource to record the transaction in the blockchain.
Tips for Success: Asking questions early and getting PM's feedback is very important for the success of this challenge.
Competition Task Overview
In the previous challenge, we have implemented some of the features from the prototype.
Some features are fully implemented with the blockchain features, whereas othere are done with mongodb.
In this challenge, we need to replace some mongodb implementations with the blockchain. We also would like to have a few spec update.
Here are the details: ([A-F] indicates priority.
1. [A] /volunteers - Please see the spec update below and make it implement with blockchain only.
2. [F] /searchResult - We would require the database to implement the search feature
3. [B] /donateProject - If you are using the mongodb storage, it should be replaced with blockchain.
4. [A] /project - Please replace the implementation with blockchain only.
5. [B] /donationDetails - The tracing feature should be basically done with blockchain only.
6. [A] /donationTrace - The tracing feature should be basically done with blockchain only.
7. [B] [Tab] Donation History - The tracing feature should be basically done with blockchain only. (You may use DB for graphs)
8. [F] [Tab] volunteer History - You can use DB to get the history data.
9. [C] /myOrganization - You may use the db for graphs. It would be slow if you do not.
10.[A] /transferTrace - The tracing feature should be basically done with blockchain only.
*Priority
[A] You should use blockchain instead of mongodb.
[B] We would like to have the feature implemented with blockchain instead of mongodb.
[C] You do not need to implement it with blockchain.
[F] It would not work without db.
Here are a few other things to be implemented in this challenge.
1. The volunteers page currently calls API via socket.io to read the block info from database.
We need the database to show the user name.
Could you show the address instead of the user name and use the blockchain only?
2. In the project detail page, there is a goal amount but not current donated amount.
Please show it in the page too.
Timeline
This challenge has shortened review / appeals / appeals response phases, make sure you don't miss the deadlines.
Browsers Requirements
Mobile versions
- - iPhone 5, 6, 6 Plus, 6s, 6s Plus Safari Browsers
- - Android versions 4.4+ Default Browsers
Desktop versions on Windows & Mac - (you only need to implement pages for the charity organization)
- - IE 11+ Browsers
- - Latest Chrome Browsers
- - Latest Safari Browsers
Note - please include actual browsers you have tested in the submission document/readme file.
Final Submission Guidelines
Submission Deliverables
A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
Below is an overview of the deliverables:
- Full code that covers all requirements.
- A complete and detailed deployment document explaining how to deploy the application including configuration information.
Final Submission
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.