This repo contains a todo-app made with React.
This repository is frontend application that must follow this requirements:
- width >= 480px, width = 480
- if width < 480 => shrink
- Clean Architecture
- This project architecture use principles of Clean Architecture focused on codebase scalability.
- Domain Driven Design(DDD) and Model-View-Controller(MVC)
- Uses DDD approach to reduce domain complexity and focus the development in domain model. Uses MVC in presentation of app.
- Dependency injection
- Use the technique dependency injection for code not be coupled and make easy to mock dependencies during the tests.
- Web Framework
- Use ReactJs for building user interfaces.
- Animation
- Use React-Spring for animation.
- React Component has docs
- Use Storybook for documenting react components.
- Prepared for testing
- The test suite uses Jest as test runner and is prepared to run unit, integration and functional tests right from the beginning. Use React-Testing Library to test React components.
- Compile Tyscript to Javascript
- Use typescript for compile typescript code to javascript to NodeJS runs it.
- Create React App
- This project was bootstrapped with Create React App.
- Do you need a Node installed in your machine. I suggest to use this tool: nvm.
- Clone the repository
git clone https://github.com/matheusfcorocher/todo-app.git
- Install the dependencies with
npm
npm install
- Run the application in development mode with
npm start
- Access
http://localhost:3000
and you're ready to go! The page will reload when you make changes. You may also see any lint errors in the console.
This api comes with a collection of npm scripts to make your life easier, you'll run them with npm run <script name>
:
build
: Transpile the ts files to js in builder folder.start
: Start the development server with Node.jsstorybook
: Run storybook server.test
: Run all tests suite with option --runInBand and NODE_ENV=test