Skip to content

KushalvDesai/stackit-1602

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

StackIt - Full Stack Q&A Platform

TypeScript NestJS Next JS GraphQL MongoDB

A modern, feature-rich Q&A platform inspired by Stack Overflow

FeaturesTech StackGetting StartedAPI DocumentationContributing

🚀 Overview

StackIt is a comprehensive Q&A platform that enables developers and enthusiasts to ask questions, share knowledge, and build a community around learning. Built with modern web technologies, it offers real-time interactions, voting systems, and notification features.

✨ Features

  • 🔐 JWT Authentication - Secure user registration and login
  • Question Management - Create, edit, and manage questions with rich text support
  • 💬 Answer System - Comprehensive answering with markdown support
  • 🏷️ Tag System - Organize content with categorized tags
  • 👍 Voting System - Upvote/downvote answers to highlight quality content
  • 📢 Real-time Notifications - Stay updated with instant notifications
  • 🔗 User Mentions - Tag users with @mentions in answers
  • 📱 Responsive Design - Optimized for all device sizes
  • 🔍 Smart Searching - Uses fuzzy searching to find the closest matching posts even with typos or partial queries
  • 🎨 Modern UI - Clean, intuitive interface with Tailwind CSS

Development Tools

  • Code Quality: ESLint, Prettier
  • Testing: Jest, Supertest
  • Build: SWC, TypeScript v5.7.3

📁 Project Structure

├── be/                          # Backend NestJS Application
│   ├── src/
│   │   ├── answers/            # Answer module (CRUD, GraphQL resolvers)
│   │   ├── auth/               # Authentication guards & decorators
│   │   ├── notifications/      # Notification system
│   │   ├── questions/          # Question module (CRUD, GraphQL resolvers)
│   │   ├── tags/              # Tag management system
│   │   ├── users/             # User management & authentication
│   │   ├── votes/             # Voting system for answers
│   │   ├── app.module.ts      # Main application module
│   │   └── main.ts           # Application entry point
│   └── test/                  # E2E test files
│
└── fe/                         # Frontend Next.js Application
    ├── src/
    │   └── app/               # Next.js App Router
    │       ├── layout.tsx     # Root layout component
    │       ├── page.tsx       # Home page
    │       └── globals.css    # Global styles
    └── public/                # Static assets

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • MongoDB (v6.0 or higher)
  • npm or yarn

🔧 Backend Setup

  1. Navigate to backend directory:

    cd be
  2. Install dependencies:

    npm install
  3. Environment Configuration: Create a .env file in the be directory:

    # Database
    MONGODB_URI=mongodb://localhost:27017/stackit-qa
    
    # Authentication
    JWT_SECRET=your-super-secret-jwt-key-here
    
    # Server
    PORT=3000
    NODE_ENV=development
  4. Start the development server:

    npm run start:dev
  5. Verify installation:

🎨 Frontend Setup

  1. Navigate to frontend directory:

    cd fe
  2. Install dependencies:

    npm install
  3. Environment Configuration: Create a .env.local file in the fe directory:

    NEXT_PUBLIC_API_URL=http://localhost:3000/graphql
    NEXT_PUBLIC_APP_NAME=StackIt
  4. Start the development server:

    npm run dev
  5. Access the application:

📚 API Documentation

GraphQL Schema

The backend exposes a GraphQL API with the following main types:

Core Entities

  • User: User management and authentication
  • Question: Question creation and management
  • Answer: Answer system with rich content
  • Vote: Voting system for answers
  • Tag: Content categorization
  • Notification: Real-time user notifications

GraphQL Playground

When running in development mode, access the interactive GraphQL Playground at: http://localhost:3000/graphql

👥 Team

StackIt Development Team

Role Name Email
Team Lead (TL) Yash Bharvada kingisright67@gmail.com
Developer Kushal Desai kushal.desaiofficial@gmail.com
Developer Shrey Lakhtaria shreylakhtaria@gmail.com
Developer Aaleya Boxwala aaleya.boxwala@gmail.com

📈 Project Statistics

Contributor Stats

StackIt Repository Activity

StackIt Repository

Repository Analytics

GitHub Repo Size GitHub commit activity GitHub last commit GitHub issues GitHub pull requests GitHub contributors GitHub forks GitHub stars

Language Distribution in StackIt

StackIt Languages

🙏 Acknowledgments

  • Inspired by Stack Overflow's community-driven approach
  • Built with amazing open-source technologies
  • Thanks to all contributors and the developer community

⬆ Back to Top

Made with ❤️ by the StackIt Team

About

Built for submission in ODOO Hackathon 2025 Stackit is s 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

Resources

Stars

Watchers

Forks

Contributors