A full-stack to-do list application with unlimited nesting levels, built with React and Appwrite.
- User authentication (signup/login)
- Permission
- Unlimited recursive subtasks
- Real-time data persistence
- User-specific task lists
- Frontend: React + Vite
- Backend: Appwrite Cloud
- Styling: TailwindCSS
- Testing: Vitest + Testing Library
- Node.js 20+ -- Note: For Windows users: Perhaps last version would be better, if you face some errors please delete it node.js in your program app list and download it from official website again.
- Appwrite account and creating a new project
-
Follow the instructions of Appwrite Documentation. git clone cd recursive-todo-app
-
Install dependencies npm install
-
Configure environment Create
.envfile: VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 VITE_APPWRITE_PROJECT_ID=your-project-id -
Run development server npm run dev
npm test
Our pipeline includes:
- Lint - Code quality checks
- Test - Automated unit tests
Tools: GitHub
- Collection: todos
- Attributes:
- title (string)
- completed (boolean)
- userId (string)
- parentId (string, nullable) - enables recursion
- order (integer)
Tasks use a parentId field to reference their parent task. The UI recursively renders all child tasks, creating unlimited nesting levels.
@By Serhat Acar