A basic and awesome todo app, built with React, Redux, RTK, Node, GraphQl and more 🥳
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Todo is a basic todo app with a sleek interface, you can add and remove tasks, no task update for this version 🙁 through this app you will learn a lot:
- How to use css-in-js in react with the latest material version
- How manage app global state with redux and RTK
- How to seperate side effect logic from components
- How asynchronous functions can communicate with redux using redux-thunk
- How to improve app performance with selectors
- How to write clean and maintainable code
Frontend:
Backend:
- clone the front-end repository (this repository)
git clone https://github.com/ayoub-g/todoList-frontend.git
- clone the backend repository
git clone https://github.com/ayoub-g/todo-server
- cd to todo-server
cd todo-server
- install npm dependencies
npm install
- configure the database for local environment :
set environment variable to local
go to the file data/getConnectionString.js
and create a postgres user and a database with the configuration described in the file or update it with your own configuration
const getConnectionString = async () => (
stage === 'local' ?
{
host: 'localhost',
database: 'todoapp',
port: '5432',
username: 'testuser',
password: 'HbdEvgmtGUc98T',
} : await getRemoteConfig());
- start the server
npm start
if everything is ok, you should see in the terminal that the server is running on port 3001, and sequelize has created the todos table.
- now it's time to configure the frontend, cd to the front-end repository
cd ../todoList-frontend
- install npm dependencies
npm install
- run the project, this will run the dev server at port 3000
npm start
- open a new tab at http://localhost:3000
Distributed under the MIT License. See LICENSE
for more information
Ayoub Gharbi - @AyyoubGharbi - [email protected]
Project Link: https://github.com/ayoub-g/todoList-frontend
Project icon