Learn react
, redux
and the ecosystem.
You need to create a basic CRUD functionality for a issue tracker, like following:
Please follow below steps to do your job:
Step 1
- Construct your
app
with starter kits and useReact
to construct your view and display above table.- Sample:
git checkout starter-kit
- Sample:
- Please divide your component, only one component is
invalid
- The data is just a fake array currently
Step 2
- Complete a CRUD functionality
- If a row is updated, please make that row with a particular background color
- Just with some fake data like previous step
- You need to think about how you perform the CRUD operation on the UI
- Please linting your
JavaScript
via eslint. The following are recommendedpreset
:
Step 3
- Add
Redux
as theflux
implementation - Still using fake data
Step 4
- Abandon
startkit
and construct the server by your own. - Use
webpack
as your module bundler - Environment
development (dev)
andproduction (prod)
are required.uglify
andminify
should be implemented onprod
.
Step 5
- Now, save your data in the database and use
Node.js
&Express
as your backend - CRUD operation will be handled in the backend
- Follow normal RESTful design for CRUD request
Step 6
- Run your development/production in
Docker
Step 7
- Use
react-router
to separate one view to couples views for CRUD operation - Design by yourself
- Please
fork
this repository, create a gitbranch
per step. After finishing of each step, createPull Request
s to merge to your master. Definition of Done
(DoD) for per step: You should finishcomponent
,unit test
and make sureContinuous Integration (CI)
run tests successfully, which meansCI
badges should be displayed asPassed
.- Write test if your component or function is in incubating instead of finish
- Please write the description and the
shell command
of your application inREADME
.
NOTE: Your code should be Configurable, Testable and Maintainable
- React
- Redux
- React-Router
- Node.js & Express
- It's necessary to write the testing for both frontend and backend
- Deploy your application to
CI
likeTravis
,Circle
or any else.