$ git clone https://github.com/SadMonster/magisale-internship-todo.git
$ cd magisale-internship-todo
$ npm i
$ npm start
Recomended instruments:
- NPM
- Visual Studio Code
- Git Bash
- Chrome Dev Tools
- Spotify
Recomended sources:
- Other Interns
- Devs
- Working code
- Habr
- DevTube
1st Step task: Code is simple as it possible, so you should be able to understand its basics concepts 2-3 days or even faster if you're already familiar with JS and HTML.
2nd: Let's mix a things a little bit! Add a new field called "Title" to app's sources at Todo creator inputs and Todo item view. "Title" expected to work as previous field called "todo", only one thing I want you to do - is create a copy of it and make it work.
3rd: Now as we have a lot of todo's done we need to have a possibility to delete some of them, so as you understand - you should to implement a deleting functionality to your app
4th: Is it enough, only creating and deleting? No! We need to edit our mistakes here so add a editing functionality to this app.
5th: Now it is time to add some state management. Use Redux or MobX (Redux preffered) in your app.
6th: Let's make our app beautifull now! It's dangerous to go alone, take this or take this! Make your app looks like something pretty example. (Animations on CSS and ShapeShifts will be +)
7th: Create nodejs server. Use express and start the backend.
8th: Create endpoints for existing functionality that frontend requires.
9th: Use some SQL database solution for storing records - PostgreSQL is preferable.
10th: For backend use Test Driven Development (TDD). Your code must be covered by tests at least 89%.
11th: Now our project is have to be published. Use "Heroku" and Node.js to stage your app online.
12th: Add some user specific functions like data saving and SignUp\Register functionality. Such function save to be implemented on server and client sides.
13th: Now you're free to do everything you want. If you have enough free time - add some interesting things, that you consider desirable. (Server Side Rendering for react or running your backend on http2 protocol for example)
Extra tasks: Addaptive design and UI, your own RESTfull API, SPA implementation, PWA implementation, data syncronization with any of cloud services, Import\Export feauteres.