Here, on the frontend, I propose to highlight the differences between using React with the imperative and functional paradigms. As React is a vue library, this difference is visible only in the vue layer.
Within the imperative paradigm, classes are used. On the ohter hand, within the functional paradigm, the React hooks are used.
In addition, I propose a REST API to enable the design of new versions of TODOMVC that use a backend. In my opinion, it could be a nice addition to TODOMVC in order to help developers learn how to use a REST API within a MVC frontend. I consider this as an interesting point as the design of frontends using a REST API became an industry standard.
I also added a GraphQL implementation for those who would like to discover how to design frontends on top of GraphQL APIs.
The two backends are shipped into a single Java Application, and the two versions of the frontend into a single application too. To know more about this, read the README of each one: frontend and backend.
If you're not familiar with this, the frontend and backend terms refers to the architecture used. These terms have been explained here.
You need to have:
- A Java Development Kit (JDK) version 11 or later
- Node JS
Open a terminal, go to the folder where you want to save this project and then type:
git clone https://github.com/AntoineCheron/todomvc.git
cd todomvc
cd frontend
npm install
- Frontend: see the README of the frontend directory.
- Backend: see the README of the backend directory.
Simply open an issue to get in touch and propose your contribution.
The license of this project is MIT. It lets people do almost anything they want with this project, like making and distributing closed source versions.