{"id":31096629,"url":"https://github.com/fakeerrorx/errorx-forum","last_synced_at":"2026-05-18T06:12:22.013Z","repository":{"id":315013428,"uuid":"1056762903","full_name":"FakeErrorX/errorx-forum","owner":"FakeErrorX","description":"A modern, full-featured forum application built with Next.js","archived":false,"fork":false,"pushed_at":"2025-09-16T07:50:29.000Z","size":469,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T08:23:03.589Z","etag":null,"topics":["next-js","nextauth","nextjs","nextjs-forum","nextjs15"],"latest_commit_sha":null,"homepage":"https://errorx.org","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/FakeErrorX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2025-09-14T18:49:23.000Z","updated_at":"2025-09-16T07:50:33.000Z","dependencies_parsed_at":"2025-09-16T08:23:15.183Z","dependency_job_id":"41eaf604-d71d-4184-ac8e-f98575a7ab76","html_url":"https://github.com/FakeErrorX/errorx-forum","commit_stats":null,"previous_names":["fakeerrorx/errorx-forum"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/FakeErrorX/errorx-forum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FakeErrorX%2Ferrorx-forum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FakeErrorX%2Ferrorx-forum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FakeErrorX%2Ferrorx-forum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FakeErrorX%2Ferrorx-forum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FakeErrorX","download_url":"https://codeload.github.com/FakeErrorX/errorx-forum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FakeErrorX%2Ferrorx-forum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275465741,"owners_count":25469885,"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-09-16T02:00:10.229Z","response_time":65,"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":["next-js","nextauth","nextjs","nextjs-forum","nextjs15"],"created_at":"2025-09-16T18:47:01.330Z","updated_at":"2025-09-16T18:47:04.015Z","avatar_url":"https://github.com/FakeErrorX.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🚀 ErrorX Forum\n\n\u003e **A modern, full-featured forum application built with Next.js 15**\n\n[![Next.js](https://img.shields.io/badge/Next.js-15-black?style=for-the-badge\u0026logo=next.js)](https://nextjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.0-38B2AC?style=for-the-badge\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![Prisma](https://img.shields.io/badge/Prisma-5.0-2D3748?style=for-the-badge\u0026logo=prisma)](https://prisma.io/)\n\n*Featuring user authentication, post management, file uploads, and real-time interactions*\n\n[🌐 Live Website](https://errorx.org) • [📖 Documentation](docs/README.md) • [🐛 Report Bug](https://github.com/FakeErrorX/errorx-forum/issues/new?template=bug_report.md) • [✨ Request Feature](https://github.com/FakeErrorX/errorx-forum/issues/new?template=feature_request.md)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n\u003cdiv align=\"center\"\u003e\n\n### 🔐 **Authentication \u0026 User Management**\n**Secure authentication with multiple providers and comprehensive user profiles**\n\n| Feature | Description |\n|---------|-------------|\n| 🔑 **NextAuth.js Integration** | Secure authentication with multiple providers |\n| 🌐 **Google OAuth** | Social login support |\n| 👤 **User Profiles** | Customizable user profiles with avatars |\n| 🔒 **Password Management** | Forgot password and reset functionality |\n| 🎯 **Username Generation** | Automatic username generation from names/emails |\n\n### 📝 **Content Management**\n**Rich content creation and management system**\n\n| Feature | Description |\n|---------|-------------|\n| ✍️ **Post Creation** | Rich text posts with categories |\n| 📂 **Category System** | Organized discussion categories |\n| 💬 **Comment System** | Nested comments with replies |\n| 🔍 **Search Functionality** | Full-text search across posts |\n| 📄 **Pagination** | Efficient content loading |\n\n### 🎨 **Modern UI/UX**\n**Built with shadcn/ui and Radix UI for exceptional user experience**\n\n| Feature | Description |\n|---------|-------------|\n| 📱 **Responsive Design** | Mobile-first responsive layout |\n| 🌙 **Dark/Light Mode** | Theme switching with system preference detection |\n| 🎭 **shadcn/ui Components** | Beautiful, accessible UI components |\n| ♿ **Accessibility** | WCAG compliant components |\n| ⚡ **Loading States** | Smooth loading animations |\n\n### 📁 **File Management**\n**Scalable file storage and management**\n\n| Feature | Description |\n|---------|-------------|\n| ☁️ **Cloudflare R2 Storage** | Scalable file storage |\n| 📤 **File Upload** | Drag \u0026 drop file uploads |\n| 🖼️ **Image Optimization** | Automatic image optimization |\n| 🌐 **CDN Integration** | Custom domain support for assets |\n\n### 🔒 **Security \u0026 Validation**\n**Enterprise-level security and validation**\n\n| Feature | Description |\n|---------|-------------|\n| ✅ **Zod Validation** | Comprehensive input validation |\n| 🛡️ **API Security** | CORS protection and origin validation |\n| 🔐 **Environment Validation** | Secure environment variable handling |\n| 🎯 **Type Safety** | Full TypeScript support |\n\n### 📊 **SEO \u0026 Performance**\n**Optimized for search engines and performance**\n\n| Feature | Description |\n|---------|-------------|\n| 🔍 **SEO Optimization** | Meta tags, structured data, sitemaps |\n| ⚡ **Performance** | Optimized images and code splitting |\n| 📈 **Analytics Ready** | Google Analytics integration ready |\n| 📱 **Social Sharing** | Open Graph and Twitter Card support |\n\n\u003c/div\u003e\n\n---\n\n## 🛠️ Tech Stack\n\n\u003cdiv align=\"center\"\u003e\n\n### **Frontend**\n![Next.js](https://img.shields.io/badge/Next.js-15-black?style=flat-square\u0026logo=next.js)\n![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=flat-square\u0026logo=typescript)\n![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.0-38B2AC?style=flat-square\u0026logo=tailwind-css)\n![shadcn/ui](https://img.shields.io/badge/shadcn/ui-0.8.0-000000?style=flat-square)\n![Radix UI](https://img.shields.io/badge/Radix_UI-1.0-161618?style=flat-square)\n\n### **Backend**\n![Prisma](https://img.shields.io/badge/Prisma-5.0-2D3748?style=flat-square\u0026logo=prisma)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-316192?style=flat-square\u0026logo=postgresql)\n![NextAuth.js](https://img.shields.io/badge/NextAuth.js-5.0-000000?style=flat-square)\n\n### **Services**\n![Cloudflare R2](https://img.shields.io/badge/Cloudflare_R2-Storage-FF6B6B?style=flat-square)\n![Zod](https://img.shields.io/badge/Zod-3.0-3066BE?style=flat-square)\n![Nodemailer](https://img.shields.io/badge/Nodemailer-6.0-FF6B6B?style=flat-square)\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Quick Start\n\n### **Prerequisites**\n\n- **Node.js** 18+ \n- **PostgreSQL** database\n- **Cloudflare R2** account (for file storage)\n- **SMTP** email service (Gmail, SendGrid, etc.)\n\n### **1️⃣ Clone \u0026 Install**\n\n```bash\n# Clone the repository\ngit clone https://github.com/FakeErrorX/errorx-forum.git\ncd errorx-forum\n\n# Install dependencies\nnpm install\n# or\nyarn install\n# or\npnpm install\n```\n\n### **2️⃣ Environment Setup**\n\nCreate a `.env` file in the root directory:\n\n```env\n# Database\nDATABASE_URL=\"postgresql://username:password@localhost:5432/errorx_forum\"\n\n# NextAuth.js\nNEXTAUTH_URL=\"http://localhost:3000\"\nNEXTAUTH_SECRET=\"your-secret-key-here\"\n\n# Google OAuth (optional)\nGOOGLE_CLIENT_ID=\"your-google-client-id\"\nGOOGLE_CLIENT_SECRET=\"your-google-client-secret\"\n\n# Site Configuration\nSITE_URL=\"http://localhost:3000\"\nSITE_NAME=\"ErrorX Forum\"\nSITE_DESCRIPTION=\"A modern forum for developers and tech enthusiasts\"\n\n# Social Media URLs\nTWITTER_HANDLE=\"@FakeErrorX\"\nTWITTER_SITE=\"@FakeErrorX\"\nTWITTER_URL=\"https://twitter.com/FakeErrorX\"\nGITHUB_URL=\"https://github.com/FakeErrorX\"\nTELEGRAM_URL=\"https://t.me/ErrorX_BD\"\nFACEBOOK_URL=\"https://facebook.com/ErrorX.GG\"\n\n# Cloudflare R2 Storage\nS3_REGION=\"auto\"\nS3_ENDPOINT=\"https://your-account-id.r2.cloudflarestorage.com\"\nS3_ACCESS_KEY=\"your-access-key\"\nS3_SECRET_KEY=\"your-secret-key\"\nS3_BUCKET_NAME=\"your-bucket-name\"\nS3_BUCKET_URL=\"https://your-custom-domain.com\"\n\n# API Security\nALLOWED_ORIGINS=\"http://localhost:3000,https://yourdomain.com\"\n\n# Development Configuration\nLOCALHOST_PORT=\"3000\"\n\n# Email Configuration (SMTP)\nSMTP_HOST=\"smtp.gmail.com\"\nSMTP_PORT=\"587\"\nSMTP_SECURE=\"false\"\nSMTP_USER=\"your-email@gmail.com\"\nSMTP_PASS=\"your-app-password\"\nSMTP_FROM=\"ErrorX Community \u003cnoreply@yourdomain.com\u003e\"\n```\n\n### **3️⃣ Database Setup**\n\n```bash\n# Generate Prisma client\nnpx prisma generate\n\n# Run database migrations\nnpx prisma db push\n\n# (Optional) Seed the database\nnpx prisma db seed\n```\n\n### **4️⃣ Start Development**\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n```\n\n**🎉 Open [http://localhost:3000](http://localhost:3000) to view the application!**\n\n---\n\n## 📁 Project Structure\n\n```\nerrorx-forum/\n├── 📁 app/                    # Next.js App Router\n│   ├── 📁 api/               # API routes\n│   │   ├── 📁 auth/          # Authentication endpoints\n│   │   ├── 📁 posts/         # Post management\n│   │   ├── 📁 users/         # User management\n│   │   └── 📁 files/         # File upload endpoints\n│   ├── 📁 create-post/       # Post creation page\n│   ├── 📁 profile/           # User profile pages\n│   ├── 📁 settings/          # User settings\n│   └── 📁 signin/            # Authentication pages\n├── 📁 components/            # React components\n│   ├── 📁 ui/               # shadcn/ui components\n│   ├── 📁 layout/           # Layout components\n│   └── 📁 seo/              # SEO components\n├── 📁 lib/                  # Utility libraries\n│   ├── 📄 auth.ts           # Authentication configuration\n│   ├── 📄 prisma.ts         # Database client\n│   ├── 📄 validations.ts    # Zod validation schemas\n│   └── 📄 s3.ts             # File storage utilities\n├── 📁 hooks/                # Custom React hooks\n├── 📁 prisma/               # Database schema\n├── 📁 docs/                 # Documentation\n│   ├── 📄 README.md         # Main documentation\n│   ├── 📄 API.md            # API reference\n│   └── 📄 DEPLOYMENT.md     # Deployment guide\n├── 📁 .github/              # GitHub templates\n│   ├── 📁 ISSUE_TEMPLATE/   # Issue templates\n│   └── 📁 DISCUSSION_TEMPLATE/ # Discussion templates\n└── 📁 public/               # Static assets\n```\n\n---\n\n## 🔧 Available Scripts\n\n| Command | Description |\n|---------|-------------|\n| `npm run dev` | 🚀 Start development server |\n| `npm run build` | 🏗️ Build for production |\n| `npm run start` | 🎯 Start production server |\n| `npm run lint` | 🔍 Run ESLint |\n| `npx prisma studio` | 🗄️ Open Prisma Studio |\n| `npx prisma db push` | 📤 Push schema changes |\n| `npx prisma generate` | ⚙️ Generate Prisma client |\n\n---\n\n## 🔒 Security Features\n\n\u003cdiv align=\"center\"\u003e\n\n| 🛡️ **Security Feature** | 📝 **Description** |\n|-------------------------|-------------------|\n| **Input Validation** | All inputs validated with Zod |\n| **CORS Protection** | API endpoints protected from external access |\n| **Environment Validation** | Required environment variables validated |\n| **Password Security** | Strong password requirements |\n| **SQL Injection Protection** | Prisma ORM prevents SQL injection |\n| **XSS Protection** | Input sanitization and validation |\n\n\u003c/div\u003e\n\n---\n\n## 📊 Performance Features\n\n\u003cdiv align=\"center\"\u003e\n\n| ⚡ **Performance Feature** | 📝 **Description** |\n|---------------------------|-------------------|\n| **Image Optimization** | Next.js automatic image optimization |\n| **Code Splitting** | Automatic code splitting for better performance |\n| **Static Generation** | Pre-rendered pages where possible |\n| **CDN Integration** | Cloudflare R2 for fast asset delivery |\n| **Caching** | Optimized caching strategies |\n\n\u003c/div\u003e\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.\n\n### **Quick Start for Contributors**\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### **📚 Documentation**\n\n- **[Main Documentation](docs/README.md)** - Complete project documentation\n- **[API Reference](docs/API.md)** - Detailed API documentation\n- **[Deployment Guide](docs/DEPLOYMENT.md)** - Production deployment instructions\n\n### **🐛 Report Issues**\n\n- **[Bug Report](https://github.com/FakeErrorX/errorx-forum/issues/new?template=bug_report.md)** - Report bugs and issues\n- **[Feature Request](https://github.com/FakeErrorX/errorx-forum/issues/new?template=feature_request.md)** - Suggest new features\n- **[Question](https://github.com/FakeErrorX/errorx-forum/issues/new?template=question.md)** - Ask questions\n\n### **💬 Discussions**\n\n- **[General Discussion](https://github.com/FakeErrorX/errorx-forum/discussions/new?category=general)** - General project discussions\n- **[Ideas \u0026 Brainstorming](https://github.com/FakeErrorX/errorx-forum/discussions/new?category=ideas)** - Share ideas and brainstorm\n- **[Q\u0026A](https://github.com/FakeErrorX/errorx-forum/discussions/new?category=q-and-a)** - Ask questions and get answers\n\n---\n\n## 📝 License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 Acknowledgments\n\n\u003cdiv align=\"center\"\u003e\n\n| 🛠️ **Tool** | 📝 **Description** |\n|-------------|-------------------|\n| [Next.js](https://nextjs.org/) | The React framework |\n| [Prisma](https://prisma.io/) | Database toolkit |\n| [shadcn/ui](https://ui.shadcn.com/) | Beautiful UI components |\n| [Radix UI](https://radix-ui.com/) | Accessible UI primitives |\n| [Tailwind CSS](https://tailwindcss.com/) | Utility-first CSS |\n| [NextAuth.js](https://next-auth.js.org/) | Authentication for Next.js |\n| [Zod](https://zod.dev/) | TypeScript-first schema validation |\n\n\u003c/div\u003e\n\n---\n\n## 📞 Support\n\n\u003cdiv align=\"center\"\u003e\n\n**Need help? We're here for you!**\n\n[🐛 Report Bug](https://github.com/FakeErrorX/errorx-forum/issues) • [✨ Request Feature](https://github.com/FakeErrorX/errorx-forum/issues) • [💬 Discussions](https://github.com/FakeErrorX/errorx-forum/discussions)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ by [ErrorX](https://github.com/FakeErrorX)**\n\n[![GitHub](https://img.shields.io/badge/GitHub-FakeErrorX-181717?style=for-the-badge\u0026logo=github)](https://github.com/FakeErrorX)\n[![Twitter](https://img.shields.io/badge/Twitter-@FakeErrorX-1DA1F2?style=for-the-badge\u0026logo=twitter)](https://twitter.com/FakeErrorX)\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffakeerrorx%2Ferrorx-forum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffakeerrorx%2Ferrorx-forum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffakeerrorx%2Ferrorx-forum/lists"}