Skip to content

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

26 Commits

Folders and files

Repository files navigation

πŸš€ Tech Tips & Tricks Hub

Tech Hub Logo

A modern, full-stack platform for tech enthusiasts to share knowledge, connect, and grow together

Next.js TypeScript Tailwind CSS MongoDB

🌐 Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug

✨ Features

🎯 Core Features

  • πŸ” Secure Authentication - JWT-based authentication with role-based access control
  • πŸ’Ž Premium Content - Subscription-based premium content access with payment integration
  • πŸ“ Rich Content Creation - Advanced post editor with media support and syntax highlighting
  • πŸ’¬ Real-time Chat - Direct messaging and group chats with typing indicators
  • πŸ—³οΈ Interactive Voting - Upvote/downvote system with real-time updates
  • πŸ’³ Payment Integration - Secure payments via Aamarpay and Stripe
  • πŸ“Š Analytics Dashboard - Comprehensive user and content analytics

🎨 User Experience

  • πŸ“± Responsive Design - Mobile-first approach with seamless cross-device experience
  • πŸŒ™ Dark Mode - Beautiful light/dark theme toggle
  • πŸ” Advanced Search - Powerful search and filtering capabilities
  • ⚑ Real-time Updates - Live notifications and content updates
  • 🎭 Modern UI - Clean, intuitive interface built with NextUI components

πŸ‘₯ Social Features

  • πŸ’¬ Chat System - Direct messages and group conversations
  • πŸ‘€ User Profiles - Customizable profiles with activity tracking
  • πŸ† Reputation System - Karma-based user reputation
  • πŸ“’ Community Groups - Create and join tech communities
  • πŸ”” Smart Notifications - Real-time alerts for interactions

πŸ› οΈ Tech Stack

Frontend

βš›οΈ  React 18 + Next.js 14.2.4
πŸ”·  TypeScript for type safety
🎨  Tailwind CSS + NextUI components
πŸ”„  TanStack Query for state management
πŸ“‘  Axios for API communication
🎭  Framer Motion for animations

Backend

🟒  Node.js + Express.js
πŸ”·  TypeScript
πŸƒ  MongoDB with Mongoose ODM
πŸ”  JWT Authentication
πŸ’³  Payment Gateway Integration
πŸ“§  Email Service Integration

Development Tools

πŸ“¦  npm/yarn package management
πŸ”§  ESLint + Prettier for code quality
πŸ§ͺ  Jest for testing
🐳  Docker for containerization
πŸš€  Vercel for deployment

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm/yarn
  • MongoDB database
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/wahid1099/tech-tips-frontend.git
    cd tech-tips-frontend
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Setup

    cp .env.example .env.local

    Configure your environment variables:

    NEXT_PUBLIC_API_URL=http://localhost:5000/api
    NEXT_PUBLIC_SOCKET_URL=http://localhost:5000
    NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_key
    NEXT_PUBLIC_APP_URL=http://localhost:3000
  4. Run the development server

    npm run dev
    # or
    yarn dev
  5. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

src/
β”œβ”€β”€ πŸ“ app/                    # Next.js 14 App Router
β”‚   β”œβ”€β”€ πŸ“ (WithCommonLayout)/ # Layout groups
β”‚   β”‚   β”œβ”€β”€ πŸ“ chat/          # Chat pages
β”‚   β”‚   β”œβ”€β”€ πŸ“ profile/       # User profile pages
β”‚   β”‚   └── πŸ“„ page.tsx       # Home page
β”‚   └── πŸ“„ layout.tsx         # Root layout
β”œβ”€β”€ πŸ“ components/            # Reusable UI components
β”‚   β”œβ”€β”€ πŸ“ chat/             # Chat-related components
β”‚   β”œβ”€β”€ πŸ“ posts/            # Post-related components
β”‚   β”œβ”€β”€ πŸ“ UI/               # General UI components
β”‚   └── πŸ“ Form/             # Form components
β”œβ”€β”€ πŸ“ context/              # React Context providers
β”œβ”€β”€ πŸ“ hooks/                # Custom React hooks
β”œβ”€β”€ πŸ“ services/             # API service functions
β”œβ”€β”€ πŸ“ types/                # TypeScript type definitions
└── πŸ“ utils/                # Utility functions

🎯 Key Components

Chat System

  • Real-time messaging with Socket.IO integration
  • Group chat management with admin controls
  • Typing indicators and read receipts
  • File sharing capabilities

Content Management

  • Rich text editor with markdown support
  • Media upload with image optimization
  • Tag system for content categorization
  • Version control for post edits

User Management

  • Role-based permissions (User, Premium, Admin)
  • Profile customization with avatar upload
  • Activity tracking and analytics
  • Social features (follow/unfollow)

πŸ”§ Configuration

Environment Variables

# API Configuration
NEXT_PUBLIC_API_URL=your_backend_url
NEXT_PUBLIC_SOCKET_URL=your_socket_url

# Payment Gateways
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_key
NEXT_PUBLIC_AAMARPAY_STORE_ID=your_aamarpay_id

# App Configuration
NEXT_PUBLIC_APP_URL=your_app_url
NEXT_PUBLIC_APP_NAME="Tech Tips Hub"

Customization

  • Themes: Modify tailwind.config.js for custom styling
  • Components: Extend NextUI theme in src/config/theme.ts
  • API: Configure endpoints in src/config/api.ts

πŸ“± Features Showcase

πŸ’¬ Chat System

// Real-time messaging with typing indicators
const { sendMessage, typingUsers } = useChat();

// Group management
const { createGroup, addMembers } = useGroupChat();

πŸ” Authentication

// Secure JWT-based auth
const { user, login, logout } = useAuth();

// Role-based access control
const { hasPermission } = usePermissions();

πŸ’³ Payment Integration

// Subscription management
const { subscribe, cancelSubscription } = useSubscription();

// Payment processing
const { processPayment } = usePayment();

πŸš€ Deployment

Vercel (Recommended)

npm run build
vercel --prod

Docker

docker build -t tech-tips-hub .
docker run -p 3000:3000 tech-tips-hub

Manual Deployment

npm run build
npm start

πŸ§ͺ Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

πŸ“Š Performance

  • Lighthouse Score: 95+ across all metrics
  • Core Web Vitals: Optimized for excellent user experience
  • Bundle Size: Optimized with code splitting and lazy loading
  • SEO: Server-side rendering with Next.js

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Team

  • Wahid - Full Stack Developer & Project Lead

πŸ™ Acknowledgments

πŸ“ž Support


Made with ❀️ by the Tech Tips Hub Team

⭐ Star this repo β€’ 🐦 Follow us β€’ πŸ“§ Newsletter

About

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages