Challenge Overview
1. Project Overview
1.1 System Description
The customer is a company that does crowdsourcing challenges similar to topcoder, but has their own ways of doing things. They want to create a web application that will allow their customers to define and publish their own challenges.
This architecture designs the REST API and the database table schema for the web application.
This assembly implements the help artifact management and the help API.
1.2 Competition Task Overview
A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:
http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials
Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.
1.2.1 API in Scope
API is defined in the Swagger Spec.
All HELP related APIs are in scope.
1.2.2 API Implementation
The business logic of the HELP APIs is briefly described ADS 1.1.
Assemblers should follow the description in ADS, and use their best discretion to implement the API.
1.3 Submission
- Source code
- Deployment guide to configure and verify the application.
1.4 Deployment
This architecture is responsible for API design and doesn’t cover the implementation. Generally the application will be packaged in WAR file and deployed in a JEE web server.
The application accesses the MySQL database to store the data.
The application accesses the existing encryption file system to fetch the files.
The application use external OAuth2.0 endpoints for authentication.
The application use normal file system to store the HELP artifacts.
1.4.1 Technology overview
- Java 1.7
- Spring Framework 4 http://www.springsource.org/
- Swagger 2 http://swagger.io/
1.5 Existing Documents
- Application Design Specification
- Assembly Specifications
- ERD
- Swagger Specs
Final Submission Guidelines
N/A