{"id":29663882,"url":"https://github.com/techy4shri/stackit","last_synced_at":"2026-04-09T16:50:22.643Z","repository":{"id":305570218,"uuid":"1018326043","full_name":"techy4shri/StackIt","owner":"techy4shri","description":"StackIt is a minimal question-and-answer platform that supports collaborative  learning and structured knowledge sharing. It’s designed to be simple, user-friendly,  and focused on the core experience of asking and answering questions within a  community.","archived":false,"fork":false,"pushed_at":"2025-07-20T20:01:18.000Z","size":294,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2025-10-04T17:49:10.820Z","etag":null,"topics":["clerk-authentication","forum-site","full-stack-web-development","mongodb","nextjs","tailwindcss","typescript","webapp"],"latest_commit_sha":null,"homepage":"https://stack-it-gold.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/techy4shri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["techy4shri"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2025-07-12T03:19:57.000Z","updated_at":"2025-07-23T18:42:46.000Z","dependencies_parsed_at":"2025-07-20T22:04:31.701Z","dependency_job_id":"f56d799c-3e10-4c4c-8990-53f1a7e9e170","html_url":"https://github.com/techy4shri/StackIt","commit_stats":null,"previous_names":["techy4shri/stackit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/techy4shri/StackIt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FStackIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FStackIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FStackIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FStackIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techy4shri","download_url":"https://codeload.github.com/techy4shri/StackIt/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techy4shri%2FStackIt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010667,"owners_count":26084784,"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-10-12T02:00:06.719Z","response_time":53,"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":["clerk-authentication","forum-site","full-stack-web-development","mongodb","nextjs","tailwindcss","typescript","webapp"],"created_at":"2025-07-22T12:05:06.137Z","updated_at":"2025-10-12T07:37:05.627Z","avatar_url":"https://github.com/techy4shri.png","language":"TypeScript","funding_links":["https://github.com/sponsors/techy4shri"],"categories":[],"sub_categories":[],"readme":"# StackIt – A Minimal Q\u0026A Forum Platform\n\n[![Next.js](https://img.shields.io/badge/Next.js-15.3.5-black?logo=next.js)](https://nextjs.org/)\n[![React](https://img.shields.io/badge/React-19.0.0-blue?logo=react)](https://reactjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?logo=typescript)](https://www.typescriptlang.org/)\n[![MongoDB](https://img.shields.io/badge/MongoDB-6.17.0-green?logo=mongodb)](https://www.mongodb.com/)\n[![TailwindCSS](https://img.shields.io/badge/TailwindCSS-4.0-38B2AC?logo=tailwind-css)](https://tailwindcss.com/)\n[![Clerk](https://img.shields.io/badge/Clerk-Auth-purple?logo=clerk)](https://clerk.com/)\n\n\n## 🧩 Problem Statement (ID: 2)\n\nDesign and develop **StackIt**, a minimal Question-and-Answer platform that supports collaborative learning and structured knowledge sharing. The platform should be simple, intuitive, and focused on the core experience of asking and answering questions within a community.\n\nThe system must:\n- Allow users to ask and answer questions using a rich text editor.\n- Implement voting, tagging, and answer acceptance features.\n- Include user roles (Guest, User, Admin) with appropriate permissions.\n- Support notifications and moderation controls for admins.\n\n\n---\n\n## 📚 Project Overview\n\n**StackIt** is a lightweight and focused Q\u0026A platform tailored for learning communities. It emphasizes simplicity, collaboration, and meaningful interactions without unnecessary complexity.\n\n\n\n## 🔑 User Roles \u0026 Permissions\n\n| Role   | Permissions                                                                 |\n|--------|------------------------------------------------------------------------------|\n| Guest  | View all questions and answers                                              |\n| User   | Register, log in, post questions and answers, vote on answers               |\n| Admin  | Moderate content, ban users, send announcements, download reports           |\n\n---\n\n## 🧠 Core Features\n\n### 1. Ask Questions\n- Submit questions with:\n  - **Title** – Concise and descriptive\n  - **Description** – Created using a rich text editor\n  - **Tags** – Multi-select input (e.g., `React`, `JWT`)\n\n### 2. Rich Text Editor\nSupports formatting options for both questions and answers:\n- Bold, Italic, Strikethrough\n- Numbered \u0026 Bullet lists\n- Emoji insertion\n- Hyperlinks\n- Image uploads\n- Text alignment: Left, Center, Right\n\n### 3. Answering Questions\n- Logged-in users can answer any question\n- Full formatting supported via the same rich text editor\n\n### 4. Voting \u0026 Accepted Answers\n- Users can upvote/downvote answers\n- Question owners can mark one answer as accepted\n\n### 5. Tagging System\n- Mandatory tags on questions\n- Helps in content discovery and categorization\n\n### 6. Notification System\n- Bell icon shows unread count\n- Notifications for:\n  - Answers to user’s question\n  - Comments on user’s answers\n  - Mentions via `@username`\n- Dropdown view for recent activity\n\n\n## 🔐 Admin Capabilities\n\nAdmins have access to moderation and analytics tools:\n- Reject inappropriate or spammy questions\n- Ban users violating platform policies\n- Send platform-wide messages (e.g., feature updates, downtime alerts)\n- Download reports: user activity, feedback, question/answer statistics\n\n\n\n## ⚙️ Tech Stack\n\n- **Frontend**: Next.js 15.3.5, React 19, TypeScript, Tailwind CSS\n- **Backend**: Next.js API Routes (Serverless)\n- **Database**: MongoDB\n- **Text Editor**: TipTap with rich text extensions\n- **Authentication**: Clerk\n- **UI Components**: Radix UI primitives\n- **Styling**: Tailwind CSS with custom theme\n- **Animation**: Framer Motion\n- **Icons**: Lucide React\n\n---\n\n## 📁 Project Structure\n\n```\nStackIt/\n├── app/                      # Next.js app directory\n│   ├── admin/               # Admin dashboard pages\n│   ├── api/                 # API routes\n│   ├── ask/                 # Question creation page\n│   ├── question/           # Question detail pages\n│   ├── search/             # Search results page\n│   ├── sign-in/            # Authentication pages\n│   └── sign-up/            # User registration pages\n├── components/              # React components\n│   ├── editor/             # Rich text editor components\n│   └── ui/                 # Reusable UI components\n├── lib/                    # Utility functions and types\n└── public/                 # Static assets\n```\n\n## 🛠️ Setup Instructions\n\n### Prerequisites\n\n- Node.js 18+ [[Download](https://nodejs.org)]\n- MongoDB database [[MongoDB Atlas](https://www.mongodb.com/atlas/database)]\n- Clerk account for authentication [[Sign up](https://clerk.com)]\n\n\u003c!-- ### Environment Variables\n\nCreate a `.env` file in the root directory with the following variables:\n\n```env\n# MongoDB\nMONGODB_URI=your_mongodb_connection_string\n\n# Clerk Auth\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key\nCLERK_SECRET_KEY=your_clerk_secret_key\n\n# App URL\nNEXT_PUBLIC_APP_URL=http://localhost:3000\n```\n--\u003e\n### Installation\n\n1. Fork the [techy4shri/stackit](https://github.com/techy4shri/stackit) repository:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/techy4shri/stackit.git\n   cd stackit\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Run the development server:\n   ```bash\n   npm run dev\n   ```\n\n4. Open [http://localhost:3000](http://localhost:3000) in your browser.\n\n### Build for Production\n\n```bash\nnpm run build\nnpm start\n```\n\n### Development Commands\n\n- `npm run dev` - Start development server\n- `npm run build` - Build for production\n- `npm start` - Start production server\n\n\n---\n\n## 👥 Team Details\n\n| Role      | GitHub |\n|-----------|--------|\n| Team Lead | [Garima](https://github.com/techy4shri) |\n| Member    | [Swati Sharma](https://github.com/swatified) |\n| Member    | [Priyanshu Aggarwal](https://github.com/jindalpriyanshu101) |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechy4shri%2Fstackit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechy4shri%2Fstackit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechy4shri%2Fstackit/lists"}