Giter Club home page Giter Club logo

cool-todo-app's Introduction

Create React App TypeScript Todo Example 2020 Netlify Status

CircleCI Cypress.io tests This project is using Percy.io for visual regression testing. tested with jest code style: prettier All Contributors Depfu

gif

Table of Contents generated with DocToc

What's this?

This is a Create React App based React + TypeScript todo app example. ๐Ÿ‘‰ Deployed App
TypeScript coming from babel, set upped at Create React App install option. Adding TypeScript Doc ๐Ÿ“

ใƒปHow to the project was bootstrapped?

1. Execute command for scaffold Create React App's TypeScript Templete.

npx create-react-app create-react-app-typescript-todo-example-2020 --template typescript

2. Setup, Setting, Programing hard with below stuffs ๐Ÿ˜†

Stack

๐Ÿ˜€ Motivation

Aftter React Conf 2018, It comming v16.8.0 with Hooks that's apparently brand new way of Code Design contrast with class base ๐Ÿ“ In addition, TypeScript adopt so much easier into a babel + webpack build system by Create React App v2.1 TypeScript support official released.

So I was interested what kind of code design and configuration was built. if I build todo with a Hooks and TypeScript. ๐Ÿ˜€

๐Ÿ—’ Note

This is not a Best Practice introduction.
There are tons of effective way to create solid software in JavaScript World, you have a lot of other option based on your preference for approaching where, The Repo is just a style of my favorite.

"How to combining TypeScript with massive Babel or JavaScript tools ecosystem?"

I hope this helps you know like that from what I've Published!

Installation

๐Ÿ”ง Prerequisites

  • The app assumed installed Node.js newer than 10.16.3 LTS. If you have not it yet, follow the official Node.js Doc to install it.

And then clone repo and install npm dependencies.
Intall is complete.

git clone [email protected]:laststance/create-react-app-typescript-todo-example-2020.git
cd create-react-app-typescript-todo-example-2020
yarn install # or npm install

After that you can lunch App with yarn start command. ๐Ÿ˜Ž

And Todo source code is putting src/ directory.

๐Ÿ“ Editor

If you're going to code reading for learn, I recommend you VScode or WebStorm.
Those editor has buit-in TypeScript support so code jumping woring as well.

But if you using Vim, there is great post for setup Vim for TypeScript and React in 2020.
Written by Vanya Yani. ๐Ÿค—

๐Ÿ‘ฉโ€๐Ÿ’ป Usage

yarn start

After that you'll seen the console which are server processes messages.
Let's follow the message and put in URL http://localhost:3000/ your browsers adressbar,
and then you'll got todo app as same as Demo. let's modify under the src/ code feel free!!

Official Docs: https://create-react-app.dev/docs/getting-started#npm-start-or-yarn-start

yarn build

After that You'll get bundled and optimization stuff in build directory.
Also you can run production build with serve local webserver modules.

yarn global add serve
serve -s build

Official Docs: https://create-react-app.dev/docs/getting-started#npm-run-build-or-yarn-build

yarn lint

ESLint is at the top. And setup TypeScript ESLint, integrating Prettier as a eslint-plugin-prettier.

yarn lint:fix

run wtih eslint --fix option.

yarn typecheck

While developing and building, Babel stop transpile with TS error messages. I can't find way static typecheck with babel, so I'm using original TypeScript via npm and specified tsc --noEmit compile option that doesn't generate compiled code.

yarn test

Jest is all-in-one test-runner built in Create React App and covers function-level unit testing to component-behavior-level integration testing. The Repo use to react-testing-library for component integration testing.

yarn cypress:open

Cypress is all-in-one E2E Testing tool which can deal testing on real browser.
This command using Electron by Cypress default.

yarn cypress:open require yarn start before.

yarn start # Launch DevServer
yarn cypress:open

cypress_open

yarn cypress:run

Run Cypress with headless Electron.
That mean this command complete all on a terminal without GUI.

yarn start # Launch DevServer
yarn cypress:run

Issues

Please feel free to post New Issue or Pull Request ๐Ÿค—

Questions

Please feel free to post New Issue or reply on Twitter ๐Ÿฆ

If you want to get more generally answers, these community are might be helpful ๐Ÿป

LICENSE

MIT

Contributors

Thanks goes to these wonderful people (emoji key):


ryota-murakami

๐Ÿ’ป ๐Ÿ“– โš ๏ธ

Will Roscoe

๐Ÿ’ป

Peng Fei

๐Ÿ›

Alex Panchuk

๐Ÿ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

cool-todo-app's People

Contributors

harsh111-bit avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.