{"id":51030582,"url":"https://github.com/mazenessam99/zoom-task","last_synced_at":"2026-06-22T00:01:36.331Z","repository":{"id":364509293,"uuid":"1268152471","full_name":"mazenessam99/zoom-task","owner":"mazenessam99","description":"A modern Next.js 15 app featuring authentication, role-based routing, internationalization (i18n), and a responsive Figma-based landing page with clean architecture and scalable structure","archived":false,"fork":false,"pushed_at":"2026-06-13T08:53:13.000Z","size":10247,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T10:23:05.126Z","etag":null,"topics":["animation","cookies","jwt","nextjs","react-hook-form","react-hot-toast","redux-toolkit","responsive-design","tailwindcss","tanstack-query","typescript","zod-validation"],"latest_commit_sha":null,"homepage":"https://zoom-task.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/mazenessam99.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-13T07:42:31.000Z","updated_at":"2026-06-13T08:53:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mazenessam99/zoom-task","commit_stats":null,"previous_names":["mazenessam99/zoom-task"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mazenessam99/zoom-task","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenessam99%2Fzoom-task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenessam99%2Fzoom-task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenessam99%2Fzoom-task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenessam99%2Fzoom-task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mazenessam99","download_url":"https://codeload.github.com/mazenessam99/zoom-task/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazenessam99%2Fzoom-task/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34629658,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"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":["animation","cookies","jwt","nextjs","react-hook-form","react-hot-toast","redux-toolkit","responsive-design","tailwindcss","tanstack-query","typescript","zod-validation"],"created_at":"2026-06-22T00:00:57.674Z","updated_at":"2026-06-22T00:01:36.307Z","avatar_url":"https://github.com/mazenessam99.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Zoom Cleaning Task\n\nA production-ready **Next.js 15 application** showcasing authentication, role-based routing, internationalization, and a fully responsive landing page built from a Figma design.\n\nThis project demonstrates clean architecture, scalable structure, and modern frontend best practices.\n\n---\n\n## 🌐 Live Demo\n\n- 🔗 Live URL: (https://zoom-task.vercel.app/en/admin)\n- 🔗 GitHub Repository: https://github.com/mazenessam99/zoom-task  \n\n---\n\n## 📌 Overview\n\nThis application was built as a **Frontend Technical Assessment** with a strong focus on:\n\n- Scalable architecture\n- Clean and maintainable code\n- Role-based access control\n- Pixel-perfect UI implementation\n- Responsive design across all devices\n- Internationalization (i18n)\n\n---\n\n## ✨ Key Features\n\n### 🔐 Authentication System\n- Secure login functionality\n- JWT-based authentication\n- Persistent user session\n- Form validation using Zod\n- Loading \u0026 error states handling\n- Logout functionality\n\n---\n\n### 🧭 Role-Based Routing\n\nThe system supports two user roles:\n\n#### 👑 SUPER_ADMIN\nRedirected to:\n\nDashboard includes:\n- Full Name\n- Email Address\n- Phone Number\n- User Type\n\n---\n\n#### 📢 MARKETER\nRedirected to:\n\n\nAccess to a fully responsive landing page.\n\n---\n\n## 🌍 Internationalization (i18n)\n\nBuilt using `next-intl`\n\nSupported languages:\n- 🇺🇸 English\n- 🇪🇬 Arabic\n\nFeatures:\n- RTL / LTR support\n- Dynamic language switching\n- Fully localized UI content\n\n---\n\n## 🎨 Landing Page (Figma Implementation)\n\nA pixel-perfect implementation based on the provided Figma design.\n\n### Sections:\n- Hero Section\n- Services / Features Section\n- Statistics Section\n\n### Highlights:\n- Fully responsive layout\n- Reusable UI components\n- Clean spacing \u0026 typography\n- Modern design system approach\n\n---\n\n## 🔒 Route Protection \u0026 Middleware\n\n- Protected routes using authentication guards\n- Role-based access control\n- Middleware-level protection\n- Automatic redirection for unauthorized users\n\n---\n\n## 📁 Project Architecture\n\nA clean and scalable folder structure:\nsrc/\napp/\n[locale]/\nadmin/\nlogin/\n\ncomponents/\nui/\nshared/\nadmin/\nlanding/\n\nhooks/\nuseRedux/\n\nlib/\nschemas/\nhelpers/\n\ni18n/\nmessages/\nar.json\nen.json\nrequest.ts\nrouting.ts\n\nstore/\n\nmiddleware/\n\ntypes/\n\n---\n\n## 🧪 Form Handling \u0026 Validation\n\n- React Hook Form for form state management\n- Zod for schema validation\n- Strong TypeScript integration\n\n---\n\n## 🔔 Notifications\n\n- React Hot Toast for user feedback\n- Success / error handling UX improvements\n\n---\n\n## 🧠 State Management\n\n- Redux Toolkit for global state\n- RTK Query for API handling (if applicable)\n- Centralized and scalable store structure\n\n---\n\n## 🎯 Technical Highlights\n\n- ⚡ Next.js 15 App Router\n- 🟦 TypeScript for type safety\n- 🎨 Tailwind CSS for styling\n- 🧩 Reusable components architecture\n- 🔐 Secure authentication flow\n- 🌍 Multi-language support\n- 📱 Fully responsive UI\n- 🧼 Clean code principles\n- 🏗️ Scalable folder structure\n\n---\n\n\n### 🔑 Login Page\n![Login](public/readme/login.png)\n\n---\n\n### 🏠 Landing Page\n![Landing](public/readme/landing.png)\n\n---\n\n### 📊 Admin Dashboard\n![Admin](public/readme/admin.png)\n\n---\n\n## 🛠 Tech Stack\n\n### Frontend\n- Next.js 15\n- React 19\n- TypeScript\n\n### Styling\n- Tailwind CSS\n- Lucide Icons\n\n### State Management\n- Redux Toolkit\n- RTK Query\n\n### Forms \u0026 Validation\n- React Hook Form\n- Zod\n\n### Internationalization\n- next-intl\n\n### Notifications\n- React Hot Toast\n\n### Authentication\n- JWT\n- Middleware Protection\n- Role-Based Access Control\n\n### Tools\n- ESLint\n- Prettier\n- Git \u0026 GitHub\n\n### Deployment\n- Vercel\n\n---\n\n## 👨‍💻 Author\n\n**Mazen Essam**\n\n- GitHub: https://github.com/mazenessam99  \n- LinkedIn: www.linkedin.com/in/mazen-essam-8b5448224  \n\n---\n\n## ⭐ Project Goals\n\nThis project was built to demonstrate:\n\n- Real-world frontend architecture\n- Scalable Next.js structure\n- Clean and maintainable code\n- Professional UI implementation\n- Best practices in React ecosystem","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazenessam99%2Fzoom-task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmazenessam99%2Fzoom-task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazenessam99%2Fzoom-task/lists"}