{"id":29445633,"url":"https://github.com/nutancoder/staty-easy-user-app","last_synced_at":"2025-07-13T17:40:59.613Z","repository":{"id":304003229,"uuid":"1017463954","full_name":"NutanCoder/staty-easy-user-app","owner":"NutanCoder","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-10T19:21:28.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-10T21:54:32.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://staty-easy.vercel.app","language":"TypeScript","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/NutanCoder.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-10T15:13:20.000Z","updated_at":"2025-07-10T19:21:32.000Z","dependencies_parsed_at":"2025-07-10T21:54:37.624Z","dependency_job_id":"501955d2-f546-40a2-a76a-b37a26ec74d2","html_url":"https://github.com/NutanCoder/staty-easy-user-app","commit_stats":null,"previous_names":["nutancoder/staty-easy-user-app"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/NutanCoder/staty-easy-user-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NutanCoder%2Fstaty-easy-user-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NutanCoder%2Fstaty-easy-user-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NutanCoder%2Fstaty-easy-user-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NutanCoder%2Fstaty-easy-user-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NutanCoder","download_url":"https://codeload.github.com/NutanCoder/staty-easy-user-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NutanCoder%2Fstaty-easy-user-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265180664,"owners_count":23723731,"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":[],"created_at":"2025-07-13T17:40:37.348Z","updated_at":"2025-07-13T17:40:59.594Z","avatar_url":"https://github.com/NutanCoder.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Staty Easy - Property Management Platform\n\nA modern property management and rental platform built with Next.js, Supabase, and Tailwind CSS.\n\n## Features\n\n### Authentication \u0026 Authorization\n- Email-based authentication with Supabase\n- Protected routes with middleware\n- Role-based access control\n- Session management\n\n### Property Management\n- Property listing with detailed views\n- Property search and filtering\n- Image gallery support\n- Location-based property search\n- PG/Co-living specific features\n\n### User Dashboard\n- Property overview and statistics\n- Recent activity tracking\n- Saved searches and favorites\n- Upcoming viewings management\n- Market insights and trends\n\n### User Interface\n- Responsive design with Tailwind CSS\n- Modern and clean interface\n- Loading states and progress indicators\n- Toast notifications for user feedback\n- Form validation and error handling\n\n## Tech Stack\n\n- **Frontend Framework**: Next.js 14 (App Router)\n- **Authentication**: Supabase Auth\n- **Database**: Supabase (PostgreSQL)\n- **Styling**: Tailwind CSS\n- **State Management**: React Hooks\n- **Form Handling**: React Hook Form\n- **Notifications**: React Hot Toast\n- **Loading UI**: NProgress\n- **Type Safety**: TypeScript\n\n## Project Structure\n\n```\nsrc/\n├── app/                    # Next.js app router pages\n│   ├── auth/              # Authentication pages\n│   ├── dashboard/         # User dashboard\n│   ├── properties/        # Property listings\n│   └── pg/                # PG specific pages\n├── components/            # Reusable components\n│   ├── property/          # Property related components\n│   └── ui/               # UI components\n├── lib/                   # Utility functions\n│   ├── routes/           # Route definitions\n│   └── supabase/         # Supabase client\n└── middleware.ts         # Auth middleware\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+ \n- npm or yarn\n- Supabase account\n\n### Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/yourusername/staty-easy-user-app.git\n   cd staty-easy-user-app\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n   ```bash\n   cp .env.example .env.local\n   ```\n   Fill in your Supabase credentials in `.env.local`\n\n4. Run the development server:\n   ```bash\n   npm run dev\n   ```\n\n### Environment Variables\n\nCreate a `.env.local` file with the following variables:\n\n```env\nNEXT_PUBLIC_SUPABASE_URL=your_supabase_url\nNEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key\n```\n\n## Development\n\n### Code Style\n\n- Use TypeScript for type safety\n- Follow ESLint configuration\n- Use Prettier for code formatting\n- Follow component-based architecture\n- Use centralized routing configuration\n\n### State Management\n\n- Use React hooks for local state\n- Use Supabase for remote state\n- Implement optimistic updates where possible\n- Handle loading and error states\n\n### Routing\n\nAll routes are defined in `src/lib/routes/routes.tsx`:\n- Use typed route parameters\n- Include metadata for SEO\n- Define auth requirements\n- Use helper functions for dynamic routes\n\n### Components\n\n- Follow atomic design principles\n- Implement proper prop types\n- Handle loading and error states\n- Use Tailwind CSS for styling\n- Include proper accessibility attributes\n\n## Deployment\n\n1. Build the application:\n   ```bash\n   npm run build\n   ```\n\n2. Deploy to your preferred platform:\n   - Vercel (recommended)\n   - Netlify\n   - Custom server\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support, email support@statyeasy.com or join our Slack channel.\n\n## Roadmap\n\n- [ ] Advanced search filters\n- [ ] Real-time chat\n- [ ] Virtual property tours\n- [ ] Mobile app\n- [ ] Payment integration\n- [ ] Review system\n- [ ] Property verification\n- [ ] Agent dashboard\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnutancoder%2Fstaty-easy-user-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnutancoder%2Fstaty-easy-user-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnutancoder%2Fstaty-easy-user-app/lists"}