{"id":29799201,"url":"https://github.com/shayanabbas/todo","last_synced_at":"2025-07-28T08:09:11.551Z","repository":{"id":302635274,"uuid":"1012756577","full_name":"shayanabbas/todo","owner":"shayanabbas","description":"Todo App is a modern full-stack task manager built with Laravel 12 (REST API) and Vue 3 + Vite (SPA). It features auth, labels, task hierarchies, dark mode, and a responsive UI—designed for productivity, scalability, and managing personal or team tasks.","archived":false,"fork":false,"pushed_at":"2025-07-03T11:48:58.000Z","size":223,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-03T12:38:59.194Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shayanabbas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-02T20:43:29.000Z","updated_at":"2025-07-03T11:49:02.000Z","dependencies_parsed_at":"2025-07-03T12:51:13.201Z","dependency_job_id":null,"html_url":"https://github.com/shayanabbas/todo","commit_stats":null,"previous_names":["shayanabbas/todo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shayanabbas/todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanabbas%2Ftodo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanabbas%2Ftodo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanabbas%2Ftodo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanabbas%2Ftodo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shayanabbas","download_url":"https://codeload.github.com/shayanabbas/todo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shayanabbas%2Ftodo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267482004,"owners_count":24094508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-28T08:09:10.609Z","updated_at":"2025-07-28T08:09:11.537Z","avatar_url":"https://github.com/shayanabbas.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo App – Monorepo\n\nThis repository contains both the **Laravel 12 backend API** and the **Vue 3 + Vite frontend SPA** for a modern, full-stack To-Do List application.\n\n---\n\n## Project Structure\n\n```\ntodo/\n  backend/   # Laravel 12 REST API\n  frontend/  # Vue 3 + Vite SPA\n```\n\n---\n\n## Prerequisites\n\n- **PHP 8.2+** (for backend)\n- **Composer** (for backend dependencies)\n- **Node.js (v18+) \u0026 npm** (for frontend)\n- **PostgreSQL** or **SQLite** (for backend database)\n- **DDEV** (optional, for local dev containers)\n\n---\n\n## Quick Start\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/shayanabbas/todo.git\ncd todo\n```\n\n---\n\n## Backend Setup (`backend/`)\n\n1. **Install PHP dependencies:**\n   ```bash\n   cd backend\n   composer install\n   ```\n\n2. **Copy and configure environment variables:**\n   ```bash\n   cp .env.example .env\n   ```\n   - Edit `.env` to set your database connection (PostgreSQL or SQLite).\n   - Generate the application key:\n     ```bash\n     php artisan key:generate\n     ```\n\n3. **Run database migrations:**\n   ```bash\n   php artisan migrate\n   ```\n\n4. **(Optional) Seed the database:**\n   ```bash\n   php artisan db:seed\n   ```\n\n5. **Start the backend server:**\n   - With DDEV (recommended):\n     ```bash\n     ddev start\n     ddev ssh\n     php artisan serve --host=0.0.0.0 --port=8080\n     ```\n     The API will be available at `http://localhost:8080` or `https://todoapp.ddev.site/`\n   - Or without DDEV:\n     ```bash\n     php artisan serve\n     ```\n\n---\n\n## Frontend Setup (`frontend/`)\n\n1. **Install Node.js dependencies:**\n   ```bash\n   cd ../frontend\n   npm install\n   ```\n\n2. **Copy and configure environment variables:**\n   ```bash\n   cp .env.example .env\n   ```\n   - Edit `.env` to set your API endpoint (e.g., `VITE_API_URL=http://localhost:8080/api` or `VITE_API_URL=https://todoapp.ddev.site/api`).\n\n3. **Start the frontend dev server:**\n   ```bash\n   npm run dev\n   ```\n   The app will be available at `http://localhost:5173` (or as shown in your terminal).\n\n4. **Build for production:**\n   ```bash\n   npm run build\n   ```\n\n5. **Preview the production build:**\n   ```bash\n   npm run preview\n   ```\n\n---\n\n## Usage\n\n- **Access the frontend:**  \n  Open [http://localhost:5173](http://localhost:5173) in your browser.\n- **API base URL:**  \n  The frontend expects the backend API at the URL set in your `.env` (e.g., `VITE_API_URL`).\n\n---\n\n## Features\n\n- User authentication (token-based, Laravel Sanctum)\n- Task CRUD and recursive task hierarchy\n- RESTful API (backend)\n- Modern SPA with Vue 3, Pinia, Tailwind CSS, and Iconify (frontend)\n- Dark mode support\n\n---\n\n## Development Notes\n\n- The frontend is functional with API integrated.\n- The backend is API-only (no web views except Laravel default).\n- See `backend/README.md` and `frontend/README.md` for more details on each part.\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayanabbas%2Ftodo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshayanabbas%2Ftodo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshayanabbas%2Ftodo/lists"}