Skip to content

A full-stack MERN todo application built with Vite, React, Express, and Tailwind CSS. Features JWT authentication, a themed UI, and a complete REST API.

Notifications You must be signed in to change notification settings

peddintisonu/TodoTrack

Repository files navigation

TodoTrack Logo

TodoTrack

Clarity Through Simplicity. Master Your Tasks.

Build Status Deployment


🚀 Live Demo

✨ Features

A full-stack MERN application designed for clean, fast, and focused task management.

  • User Authentication: Secure signup and login with JWT and cookies.
  • Todo Management: Full CRUD (Create, Read, Update, Delete) functionality for tasks.
  • Status & Priority: Organize tasks with clear statuses (Not Started, In Progress, Completed) and priorities (High, Medium, Low).
  • Interactive Dashboard: View key statistics and manage all your todos in one place.
  • Dynamic Filtering: Instantly filter tasks by both status and priority.
  • Profile Management: Users can change their password and delete their account.
  • Light & Dark Mode: A sleek, theme-aware interface for user comfort.
  • Fully Responsive: A seamless experience on desktop, tablet, and mobile devices.

🛠️ Tech Stack

Category Technologies & Libraries
Frontend React.js, Vite, Tailwind CSS, React Router, Lucide Icons
Backend Node.js, Express.js, MongoDB, Mongoose, JWT
Dev Tools ESLint, Prettier, Nodemon, Concurrently

⚙️ Getting Started

Follow these instructions to get the project up and running on your local machine.

1. Prerequisites

2. Clone the Repository

git clone https://github.com/peddintisonu/TodoTrack.git
cd todotrack

3. Install Dependencies

This single command will install dependencies for the root, backend, and frontend workspaces.

npm run install:all

4. Set Up Environment Variables

You need to create environment files for both the backend and the frontend.

For the Backend:

  1. Navigate to the backend directory.
  2. Create a new file named .env.development.
  3. Copy the contents from .env.example and fill in your own values.
# backend/.env.development
PORT=8000
NODE_ENV=DEVELOPMENT
JWT_SECRET=your_super_secret_key_here
MONGO_URI=your_mongodb_connection_string
MONGO_DB_NAME=TodoTrackDB
CLIENT_URL=http://localhost:5173

For the Frontend:

  1. Navigate to the frontend directory.
  2. Create a new file named .env.development.
  3. Copy the contents from .env.example and set the API URL.
# frontend/.env.development
VITE_API_BASE_URL=http://localhost:8000/api/v1
VITE_APP_NAME=TodoTrack

5. Run the Application

Navigate back to the root directory of the project and run the following command to start both the frontend and backend development servers concurrently:

npm run dev
  • The frontend will be available at http://localhost:5173.
  • The backend API will be available at http://localhost:8000.

🚀 Deployment

This application is configured for separate deployments.

  • Frontend: Deploy to static hosting services like Vercel or Netlify. Remember to set the VITE_API_BASE_URL environment variable to your deployed backend's URL.
  • Backend: Deploy to services like Render or Heroku. Remember to set the CLIENT_URL environment variable to your deployed frontend's URL to enable CORS.

About

A full-stack MERN todo application built with Vite, React, Express, and Tailwind CSS. Features JWT authentication, a themed UI, and a complete REST API.

Resources

Stars

Watchers

Forks