excellent-ui

🚀 Animated Todo App

A modern, stylish, and animated todo application built with React.js frontend, Node.js backend, and MongoDB database.

✨ Features

🛠️ Tech Stack

Frontend

Backend

🚀 Quick Start

Prerequisites

Installation

  1. Clone the repository
    git clone <repository-url>
    cd animated-todo-app
    
  2. Install dependencies
    # Install backend dependencies
    npm install
       
    # Install frontend dependencies
    cd client
    npm install
    cd ..
    
  3. Environment Setup
    # Copy environment variables
    cp env.example .env
       
    # Edit .env file with your MongoDB connection string
    MONGODB_URI=mongodb://localhost:27017/todo-app
    PORT=5000
    NODE_ENV=development
    
  4. Start MongoDB
    # If using local MongoDB
    mongod
       
    # Or use MongoDB Atlas (cloud service)
    
  5. Run the application
    # Development mode (runs both frontend and backend)
    npm run dev
       
    # Or run separately:
    # Backend only
    npm run server
       
    # Frontend only (in another terminal)
    npm run client
    
  6. Open your browser
    • Frontend: http://localhost:3000
    • Backend API: http://localhost:5000

📁 Project Structure

animated-todo-app/
├── client/                 # React frontend
│   ├── public/
│   │   ├── components/     # React components
│   │   │   ├── Header.js
│   │   │   ├── TodoForm.js
│   │   │   ├── TodoList.js
│   │   │   ├── TodoItem.js
│   │   │   └── TodoStats.js
│   │   ├── App.js
│   │   ├── index.js
│   │   └── index.css
│   └── package.json
├── server/                 # Node.js backend
│   ├── models/            # MongoDB models
│   │   └── Todo.js
│   ├── routes/            # API routes
│   │   └── todos.js
│   └── index.js           # Server entry point
├── package.json
├── env.example
└── README.md

🔧 API Endpoints

Todos

Health Check

🎨 Features in Detail

Task Management

Categories

Priority Levels

Filtering & Sorting

Statistics Dashboard

🎭 Animations

The app features smooth animations powered by Framer Motion:

📱 Responsive Design

The application is fully responsive and works on:

🔒 Security Features

🚀 Deployment

Frontend (React)

cd client
npm run build

Backend (Node.js)

npm start

Environment Variables for Production

MONGODB_URI=your_mongodb_atlas_connection_string
PORT=5000
NODE_ENV=production

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

If you have any questions or need help, please open an issue on GitHub.


Happy Coding! 🎉