Giter Site home page Giter Site logo

antoinecheron / todomvc Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 1.74 MB

React imperative and functional implementations of TODOMVC + a REST and GraphQL API

License: MIT License

Java 32.79% HTML 2.98% JavaScript 44.99% Kotlin 19.25%
todomvc frontend graphql react kotlin java spring-boot rest-api single-page-app

todomvc's Introduction

TODOMVC

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.

Project Structure

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.

Prerequisites

You need to have:

  • A Java Development Kit (JDK) version 11 or later
  • Node JS

How to install?

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

How to run?

Contributing

Simply open an issue to get in touch and propose your contribution.

License

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.

todomvc's People

Contributors

antoinecheron avatar dependabot[bot] avatar

Stargazers

J Garza avatar

Watchers

James Cloos avatar  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.