Skip to content

Reacti-Do is a full-stack MERN application that allows users to manage their todo lists with a user-friendly interface with CRUD operations.

License

Notifications You must be signed in to change notification settings

hellowedev/reacti-do

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ˆ Reacti-Do - The Ultimate MERN Stack To-Do List App

Reacti-Do is a sleek, high-performance MERN stack (MongoDB, Express, React, Node.js) based to-do list application.

It offers user authentication, protected routes, dynamic theming, smooth UI transitions, and CRUD operations for lists and items β€” all optimized with best practices, modern design, and full SEO support!


πŸ“Έ Preview

Here are some screenshots showcasing Reacti-Do: Screenshot 2025-04-28 100857 Screenshot 2025-04-28 101341 Screenshot 2025-04-28 101352 Screenshot 2025-04-28 101429 Screenshot 2025-04-28 102058


πŸ“ Folder Structure

reacti-do/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ package-lock.json
β”‚   β”œβ”€β”€ package.json
β”‚   └── src/
β”‚       β”œβ”€β”€ server.js
β”‚       β”œβ”€β”€ controllers/
β”‚       β”‚   β”œβ”€β”€ auth.controller.js
β”‚       β”‚   β”œβ”€β”€ todoItem.controller.js
β”‚       β”‚   └── todoList.controller.js
β”‚       β”œβ”€β”€ data/
β”‚       β”‚   └── seedDataForExisting.js
β”‚       β”œβ”€β”€ lib/
β”‚       β”‚   β”œβ”€β”€ cloudinary.js
β”‚       β”‚   β”œβ”€β”€ db.js
β”‚       β”‚   └── utils.js
β”‚       β”œβ”€β”€ middleware/
β”‚       β”‚   └── protectRoute.middleware.js
β”‚       β”œβ”€β”€ models/
β”‚       β”‚   β”œβ”€β”€ todoItem.model.js
β”‚       β”‚   β”œβ”€β”€ todoList.model.js
β”‚       β”‚   └── user.model.js
β”‚       └── routes/
β”‚           β”œβ”€β”€ auth.route.js
β”‚           β”œβ”€β”€ todoItem.route.js
β”‚           └── todoList.route.js
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ package-lock.json
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   └── logo.svg
β”‚   β”‚   └── manifest.json
β”‚   β”‚   └── robots.txt
β”‚   β”‚   └── sitemap.xml
β”‚   └── src/
β”‚       β”œβ”€β”€ assets/
β”‚       β”‚   β”œβ”€β”€ login.svg
β”‚       β”‚   └── signup.svg
β”‚       β”œβ”€β”€ components/
β”‚       β”‚   β”œβ”€β”€ AuthenticationRightSide.jsx
β”‚       β”‚   β”œβ”€β”€ AuthRoute.jsx
β”‚       β”‚   β”œβ”€β”€ CreatorInput.jsx
β”‚       β”‚   β”œβ”€β”€ EditableInput.jsx
β”‚       β”‚   β”œβ”€β”€ Header.jsx
β”‚       β”‚   β”œβ”€β”€ InputField.jsx
β”‚       β”‚   β”œβ”€β”€ ProtectedRoute.jsx
β”‚       β”‚   β”œβ”€β”€ TodoItems.jsx
β”‚       β”‚   └── TodoLists.jsx
β”‚       β”œβ”€β”€ lib/
β”‚       β”‚   β”œβ”€β”€ axiosInstance.js
β”‚       β”‚   β”œβ”€β”€ constants.js
β”‚       β”‚   └── utils.js
β”‚       β”œβ”€β”€ pages/
β”‚       β”‚   β”œβ”€β”€ HomePage.jsx
β”‚       β”‚   β”œβ”€β”€ LoginPage.jsx
β”‚       β”‚   β”œβ”€β”€ ProfilePage.jsx
β”‚       β”‚   β”œβ”€β”€ SettingsPage.jsx
β”‚       β”‚   └── SignupPage.jsx
β”‚       β”œβ”€β”€ store/
β”‚       β”‚   β”œβ”€β”€ useAuthStore.js
β”‚       β”‚   β”œβ”€β”€ useThemeStore.js
β”‚       β”‚   β”œβ”€β”€ useTodoItemStore.js
β”‚       β”‚   └── useTodoListStore.js
β”‚       β”œβ”€β”€ App.jsx
β”‚       β”œβ”€β”€ index.css
β”‚       └── main.jsx
β”‚
β”œβ”€β”€ .vscode/
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .env-example
β”œβ”€β”€ LICENSE
└── README.md

πŸš€ Features

  • User authentication (signup, login, logout, profile update)
  • Secured user-specific CRUD operations
  • Create, update, and delete todo lists
  • Add, edit, complete, and delete todo items
  • Profile management with profile picture upload
  • Theme selection (multiple themes) 35 unique Themes
  • Responsive and modern UI
  • Toast notifications for actions
  • Protected routes for authenticated users
  • Clean, intuitive user interface for ultimate productivity.

πŸ› οΈ Tech Stack

🧩 Frontend

React React Router Zustand Axios Tailwind CSS DaisyUI Lucide React Motion Vite

βš™οΈ Backend

Express MongoDB Mongoose BcryptJS Cloudinary Cookie-Parser CORS JWT


⚑ Getting Started

Prerequisites

  • Node.js (v22+ recommended)
  • npm
  • Express.js version 5
  • MongoDB instance (local or cloud)
  • Cloudinary account (for profile picture uploads)

1. Setup Instructions

# Clone the repository
git clone https://github.com/thekiranmahajan/reacti-do.git
cd reacti-do

# Navigate to backend
cd reacti-do/backend
npm install

# Navigate to frontend
cd ../frontend
npm install

# Start backend server
cd ../backend
npm run dev

# Start frontend Vite dev server
cd ../frontend
npm run dev

2. Setup Environment Variables

Create a .env file in the root directory with the following (fill in your values):

MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
NODE_ENV=development
PORT=5000

πŸ“‹ License

This project is licensed under the MIT License.


✨ Author


Built with πŸ₯­ by Kiran Mahajan

About

Reacti-Do is a full-stack MERN application that allows users to manage their todo lists with a user-friendly interface with CRUD operations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.1%
  • HTML 2.5%
  • CSS 0.4%