Challenge Overview
Project Overview
CPR is a web app that will provide great benefit to customers:
- Better product data avaialable online leads to more requests for quotes, more specific inquiries, and a higher likelihood they will complete the transaction
- More catalogs to search from provides more opportunities to buy
- Existing customers calling their salesperson, store or call center with a question will appreciate getting answers on the first call and not be bounced around from person to person
- e-Procurement solution setup and maintenance times will be decreased
Competition Task Overview
For this challenge, we want to come up with a detailed module architecture for the backend that will provide full support for the frontend. Please make sure you review all documents and the wireframes and make sure the architecture covers all requirements.
We do not have a formal requirements document, so don't hesitate to ask questions in the forum to get clarification.
Detailed Requirements
- Provide a full design for the backend and provide the mapping from each screen to related backend services (WCF)
- Identify the inputs and outputs of this app and make sure the backend can cover all these requirements
- Input: we already have a program that will copy the data from JDE into a staging table. CPR should then analyze the data in the staging table and add/update/delete the CPR database
- Output: only needs to output data in a preset format to a CSV file
- Both import and export will be flat files.
- Data coming into the staging table could be from JDE, so it would only have JDE columns, or from flat file imports, which could be for any CPR field. Keep in mind the database/application needs to be designed in a way that it can support easily adding new fields, and the ability to support fields that may only apply to subsets of items.
- Exports need to be configurable and preferably have the ability to choose from a predefined export format.
- Provide full database design
- Must use stored procedure to interact with database
- The assemblies should be planed in a way that after finishing the 1st backend assembly, we can immediately start the frontend assembly. The point is to be able to build the app iteratively. We do NOT want to wail until the backend is completed to start building the frontend. Below is an example of how it might look like but it doesn't map to the actual requirements:
- User Management Backend -> User Management Frontend
- Data Management Backend -> Data Management Frontend
- Export / Reporting Backend -> Export / Reporting Frontend (and of course this one will take care of all merges and build the final app)
- We want to use CPR_Wireframes.zip as the master wireframes but use the Advanced Search Section from CPR_Wireframes_202048_AdvancedSearch.zip, make sure your design properly address it.
Open Source Library
Please list any open source libraries you plan to use and get approval from us.
Technology Overview
- C#
- .NET Framework 4.0
- WCF
- Visual Studio 2012
- SQL Server 2012
- Windows Server 2012
Documentation Provided
Please register to download documents from challenge forum.
Final Submission Guidelines
Submission Deliverables
- TCUML containing interface / class diagrams, sequence diagrams, etc...
- Application Design Specification
- Assembly Specification for all assemblies
- Mapping from screens / pages to backend services
- Database design including ERD
Submission Guidelines
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.