Skip to content

A feature-rich todo list app built with Node.js, Express, and MUI. Users can add, edit, mark as complete, and delete todos. Includes filters, sorting, and light/dark mode. Enhanced with Redux Toolkit for state management and Framer Motion for smooth animations. Mongoose manages data, and the app is developed with TypeScript for robust functionality

Notifications You must be signed in to change notification settings

DavitDvalashvili/todo-mern-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Todo Full Stack - MERN App

Table of Contents

Prerequisites

  • npm: Node Package Manager for JavaScript
  • Vite: Frontend build tool for modern web development
  • TypeScript: Typed superset of JavaScript.

Tech Stack

  • Node.js: JavaScript runtime environment
  • Express: Minimalist web framework for Node.js
  • MUI: React components for Material Design UI.
  • Mongoose: MongoDB object modeling for Node.js.
  • Redux Toolkit: A simplified and efficient way to manage state in Redux applications.
  • Framer Motion: React animation library for smooth, high-performance UI transitions.

Interaction

  • Add new todos to the list
  • Mark todos as complete
  • Delete todos from the list
  • Edit existing todos
  • Filter todos by all/active/complete
  • Clear all completed todos
  • Toggle light and dark mode
  • Sort todos by their create time in ascending (oldest first) and descending (newest first) order.
  • View optimal layout for the app depending on their device's screen size
  • See hover states for all interactive elements on the page
  • View the last status update time of todos on hover

Screenshot

Links

Getting Started

  1. First of all you need to clone app repository from github:
git clone https://github.com/DavitDvalashvili/todo-mern-app.git
  1. Next step requires install all the dependencies.
npm install
  1. To see project in action
npm run dev

Deployment

Before every deployment you need to create build file.

npm run build

after this you can use this file to deploy project on server.

Structure

|-- api
| |-- controllers
| |-- models
| |-- routes
| |-- utils
| |-- index.js
|-- readme
|-- client
| |-- public
| |--src
| | |-- App
| | | |-- store.ts
| | | |-- hook.ts
| | |-- Feature
| | | |-- themeSlice.ts
| | | |-- todoSlice.ts
| | |-- components
| | |-- app.js
| | |-- main.js
| | |-- theme.ts
| | |-- types.ts
| | |-- moduleAugmentation.ts
| | |-- main.js
| |--index.html

Author

About

A feature-rich todo list app built with Node.js, Express, and MUI. Users can add, edit, mark as complete, and delete todos. Includes filters, sorting, and light/dark mode. Enhanced with Redux Toolkit for state management and Framer Motion for smooth animations. Mongoose manages data, and the app is developed with TypeScript for robust functionality

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published