- Enterprise grade system
- High performance
- Decouple frontend and backend
- Easy to maintain (decoupled module), reduced complexity
- Easy to scale
- Highly resuable components
-
Device support: Responsive Design
- Mobile phone: xxx ??
- Pad: xxx
- Desktop: xxx
-
Browser support:
- IE: 9+
- Chrome: Latest
- Firefox: Latest
- Safari: Latest
-
Localization support:
- English
- Swedish
- Danish
- Norwegian
- Finish
-
Offline mode: Yes?
- SASS for css preprocessing
- ES6 or Typescript for javascript preprocessing
- Coding standard: Airbnb react coding standard
JS
- Templates:
- Module communication:
- Data abstraction:
- Routing:
- Dependency management:
- Widget/Component:
- Form Validation:
CSS: Bootstrap or Topcoat custom theme?
Options are:
- Gulp
- Grunt
- Webpack
Linter
- Html linter
- CSS linter
- Javascript linter
Monitoring tool:
Code analysis: Plato
- Package management : NPM
- Module dependency: Requirejs
- Realtime competition leaderboard
- Realtime chatting message (multimedia support)
- Animation intensive leaderboard
- Intuitive competition creation flow
- Server side rendering ?
- User behaviour tracking
- Minimize dependency to third party libs, idealy to be framework agnostic
- Module: Seperate concern into different modules
- Facade: abstract API to hide implementation detail
- Mediator: Flux Dispatch Pattern
- Unit test
- Test runner: karma
- Test framework: mocha
- Test assertion: chai
- Test mockup: sinon
- Test coverage: blanketjs
- e2e test
- Test framework: Capybara or cucumber
- Test platform: CircleCI
- Performance benchmark ?