{"id":29431929,"url":"https://github.com/gasbrieo/todolist","last_synced_at":"2026-04-02T18:52:39.674Z","repository":{"id":302743181,"uuid":"1012732417","full_name":"gasbrieo/todolist","owner":"gasbrieo","description":"Minimal to-do app with auth, per-user data, and clean UI. Built to explore a modern React + TanStack + Supabase stack.","archived":false,"fork":false,"pushed_at":"2025-07-12T03:00:15.000Z","size":501,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-12T05:19:45.628Z","etag":null,"topics":["netlify","react","sonarcloud","supabase","tailwind","tanstack-react-query","tanstack-router","tanstack-start","vite"],"latest_commit_sha":null,"homepage":"https://todolist-gasbrieo.netlify.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gasbrieo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02T19:44:54.000Z","updated_at":"2025-07-12T03:00:19.000Z","dependencies_parsed_at":"2025-07-04T02:32:22.449Z","dependency_job_id":"5eefa42b-88be-4755-8f2f-9a171cf3c991","html_url":"https://github.com/gasbrieo/todolist","commit_stats":null,"previous_names":["gasbrieo/todolist"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gasbrieo/todolist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasbrieo%2Ftodolist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasbrieo%2Ftodolist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasbrieo%2Ftodolist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasbrieo%2Ftodolist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gasbrieo","download_url":"https://codeload.github.com/gasbrieo/todolist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gasbrieo%2Ftodolist/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265054255,"owners_count":23704245,"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","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":["netlify","react","sonarcloud","supabase","tailwind","tanstack-react-query","tanstack-router","tanstack-start","vite"],"created_at":"2025-07-12T21:01:26.263Z","updated_at":"2025-12-30T22:09:06.054Z","avatar_url":"https://github.com/gasbrieo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📝 todolist\n\n![GitHub last commit](https://img.shields.io/github/last-commit/gasbrieo/todolist)\n![Sonar Quality Gate](https://img.shields.io/sonar/quality_gate/gasbrieo_todolist?server=http%3A%2F%2Fsonarcloud.io)\n![Sonar Coverage](https://img.shields.io/sonar/coverage/gasbrieo_todolist?server=https%3A%2F%2Fsonarcloud.io)\n[![Todolist](https://img.shields.io/badge/todolist-live-blue?logo=checkmarx)](https://todolist-gasbrieo.netlify.app)\n\n\nA minimal task management demo app built with modern frontend and backend tooling.  \nThis project is focused on authentication, protected task data, and a clean architecture for learning and portfolio purposes.\n\n## ✨ Features\n\n- ✅ Login (via Supabase Auth)\n- ✅ View your personal tasks (with Supabase RLS)\n- ✅ Create, edit, and delete tasks\n- ✅ Server-side data loading with TanStack Start\n- ✅ Clean UI with shadcn/ui and Tailwind CSS\n- ✅ Deploy with Netlify\n\n## 🧱 Tech Stack\n\n| Layer     | Stack                                        |\n| --------- | -------------------------------------------- |\n| Frontend  | React + TanStack Start (Router, Query, Form) |\n| Backend   | Supabase (PostgreSQL + Auth + RLS)           |\n| Styling   | Tailwind CSS + shadcn/ui                     |\n| Auth      | Supabase Auth                                |\n| Dev Tools | TypeScript, ESLint, Prettier                 |\n| Deploy    | Netlify                                      |\n\n## 📁 Project Structure\n\n```bash\nsrc/\n├── components/   # Reusable UI components (shadcn-based)\n├── features/     # Feature-based folders (forms, auth, etc.)\n├── hooks/        # Shared React hooks\n├── lib/          # Supabase client, helpers, and general utilities\n├── routes/       # TanStack route entries and layouts\n├── styles/       # Global styles (e.g., tailwind, css vars)\n├── testing/      # Testing utilities (renderWithProviders, mocks, etc.)\n├── types/        # Shared TypeScript types\n├── utils/        # General utilities not tied to features\n```\n\n## 🚀 Getting Started\n\n1. Clone this repo\n2. Set up a Supabase project\n3. Create a `.env` file with your Supabase keys\n4. Run the dev server:\n\n```bash\nnpm install\nnpm run dev\n```\n\n## 📌 Notes\n\n- This project is not a production app — it's meant as a demonstration of how to combine TanStack Start with Supabase for fullstack development.\n- Authentication and data access are implemented with real constraints using RLS policies.\n\n## 🪪 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasbrieo%2Ftodolist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgasbrieo%2Ftodolist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgasbrieo%2Ftodolist/lists"}