{"id":48741080,"url":"https://github.com/kewonit/deetnuts","last_synced_at":"2026-04-12T07:11:10.204Z","repository":{"id":250398589,"uuid":"834198301","full_name":"kewonit/deetnuts","owner":"kewonit","description":"Large public college data, made accessible \u0026 simpler to use ","archived":false,"fork":false,"pushed_at":"2026-03-04T12:48:23.000Z","size":13389,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-04T19:58:22.631Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://deetnuts.com","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/kewonit.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-26T16:26:18.000Z","updated_at":"2026-03-04T12:48:29.000Z","dependencies_parsed_at":"2025-07-03T15:49:53.607Z","dependency_job_id":null,"html_url":"https://github.com/kewonit/deetnuts","commit_stats":null,"previous_names":["kewonit/deetnuts"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kewonit/deetnuts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kewonit%2Fdeetnuts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kewonit%2Fdeetnuts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kewonit%2Fdeetnuts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kewonit%2Fdeetnuts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kewonit","download_url":"https://codeload.github.com/kewonit/deetnuts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kewonit%2Fdeetnuts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31707066,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-04-12T07:11:09.440Z","updated_at":"2026-04-12T07:11:10.198Z","avatar_url":"https://github.com/kewonit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deetnuts\n\n\u003e Thousands of pages of public college, competitive exam, cutoffs data within PDFs - cleaned, formatted, and made accessible through sophisticated tables \u0026 graphs!\n\n**TL;DR**: Large public college data, made accessible \u0026 simpler to use\n\n🌐 **Live**: [deetnuts.com](https://deetnuts.com) | [deetnuts.site](https://deetnuts.site)\n\n---\n\n## 🎯 Features\n\n### JoSAA Cutoffs Explorer\n\n- Historical cutoff data for **IITs, NITs, IIITs, GFTIs**\n- **467,000+** cutoff records across multiple years\n- Round-by-round analysis with trend charts\n- Branch comparison with difficulty indicators\n- SEO-optimized for easy discovery\n\n### MHT-CET Cutoffs\n\n- Maharashtra CET college cutoffs\n- Category and gender-based filtering\n- Seat matrix visualization\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js 18+\n- npm or pnpm\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/kewonit/deetnuts\n\n# Install dependencies\nnpm install\n\n# Set up environment variables\ncp .env.example .env.local\n# Edit .env.local with your credentials\n\n# Run development server\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n### Environment Variables\n\n```env\n# Supabase (Auth + Data)\nNEXT_PUBLIC_SUPABASE_URL=your-supabase-url\nNEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key\nSUPABASE_SERVICE_ROLE_KEY=your-service-role-key\nDATABASE_URL=your-database-url\n\n# One-time migration source (optional after migration)\nNEXT_PUBLIC_POCKETBASE_URL=your-pocketbase-url\nPOCKETBASE_ADMIN_EMAIL=admin@example.com\nPOCKETBASE_ADMIN_PASSWORD=your-password\n```\n\n---\n\n## 🏗️ Tech Stack\n\n| Layer          | Technology                     |\n| -------------- | ------------------------------ |\n| **Framework**  | Next.js 14 (App Router)        |\n| **Language**   | TypeScript (Strict Mode)       |\n| **Styling**    | Tailwind CSS + Neobrutalism UI |\n| **Auth**       | Supabase Auth                  |\n| **Database**   | Supabase PostgreSQL            |\n| **Deployment** | Docker + Standalone Build      |\n\n---\n\n## 📁 Project Structure\n\n```\ndeetnuts/\n├── app/                    # Next.js App Router pages\n│   ├── josaa/             # JoSAA cutoffs explorer\n│   ├── mht-cet/           # MHT-CET cutoffs\n│   └── api/               # API routes\n├── components/            # React components\n│   ├── josaa/            # JoSAA-specific components\n│   └── ui/               # Shared UI components\n├── lib/                   # Utilities \u0026 API clients\n├── docs/                  # Documentation\n├── scripts/              # Data import scripts\n└── data/                 # Static data files\n```\n\n---\n\n## 📚 Documentation\n\nSee the [docs/](./docs/) folder for detailed documentation:\n\n- [JoSAA Implementation](./docs/JOSAA_IMPLEMENTATION.md)\n- [Data Upload Guides](./docs/BATCH_UPLOAD_README.md)\n- [Scripts Reference](./docs/scripts-readme.md)\n\n---\n\n## 🔄 PocketBase to Supabase Migration\n\n```bash\n# 1) Apply SQL schema/index migration in Supabase\n# file: supabase/migrations/20260304_pocketbase_to_supabase.sql\n\n# 2) Run data migration\nnpm run migrate:pocketbase-to-supabase\n```\n\nThis migrates JoSAA, MHT-CET, All-India round, and BITS datasets from PocketBase records into Supabase tables with the same runtime table names.\n\n---\n\n## 🔒 Security\n\n- Environment-based credential management\n- PocketBase query sanitization\n- Security headers (HSTS, XSS, CSRF protection)\n- Input validation on all user inputs\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\n[MIT License](./LICENSE)\n\n---\n\n## 🙏 Acknowledgements\n\nBuilt with ❤️ for students navigating India's competitive exam system.\n\nSpecial thanks to:\n\n- All contributors who helped scrape and clean the data\n- The open-source community for amazing tools\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkewonit%2Fdeetnuts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkewonit%2Fdeetnuts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkewonit%2Fdeetnuts/lists"}