A modern, full-stack todo list application built with Next.js for the frontend and Rust with Actix Web for the backend.
- Create, read, update, and delete todo items
- Search functionality to filter todos
- Edit existing todos
- Toggle completion status
- Timestamp tracking for todo creation
- Clean and responsive UI
- Fast performance with Rust backend
- Real-time updates without page refresh
- Next.js - React framework for building the UI
- React - JavaScript library for building user interfaces
- Axios - Promise-based HTTP client for API requests
- date-fns - Date utility library for formatting dates
- React Icons - Icon library for UI elements
- Rust - Systems programming language for building the API
- Actix Web - Web framework for Rust
- Serde - Serialization/deserialization framework
- UUID - For generating unique IDs
- Chrono - Date and time library for Rust
- Node.js (>= 14.x)
- npm or yarn
- Rust (>= 1.54.0)
- Cargo (Rust package manager)
-
Clone the repository
git clone https://github.com/yourusername/todo-list-app.git cd todo-list-app
-
Install frontend dependencies
npm install # or yarn install
-
Run the backend server
cd rust cargo run
This will start the Rust backend server on http://127.0.0.1:8080
-
Run the frontend development server
# From the project root npm run dev # or yarn dev
This will start the Next.js development server on http://localhost:3000
GET /todos
- Get all todosPOST /todos
- Create a new todoPUT /todos/{id}
- Update a todo by IDDELETE /todos/{id}
- Delete a todo by ID
- User authentication
- Todo categories/tags
- Due dates for todos
- Priority levels
- Persistent storage with a database
- Dark/light theme toggle
- Multi-user support
- Mobile app version