A modern, full-stack platform for tech enthusiasts to share knowledge, connect, and grow together
- π 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
- π± 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
- π¬ 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
βοΈ 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
π’ Node.js + Express.js
π· TypeScript
π MongoDB with Mongoose ODM
π JWT Authentication
π³ Payment Gateway Integration
π§ Email Service Integration
π¦ npm/yarn package management
π§ ESLint + Prettier for code quality
π§ͺ Jest for testing
π³ Docker for containerization
π Vercel for deployment
- Node.js 18+ and npm/yarn
- MongoDB database
- Git
-
Clone the repository
git clone https://github.com/wahid1099/tech-tips-frontend.git cd tech-tips-frontend -
Install dependencies
npm install # or yarn install -
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
-
Run the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3000
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
- Real-time messaging with Socket.IO integration
- Group chat management with admin controls
- Typing indicators and read receipts
- File sharing capabilities
- Rich text editor with markdown support
- Media upload with image optimization
- Tag system for content categorization
- Version control for post edits
- Role-based permissions (User, Premium, Admin)
- Profile customization with avatar upload
- Activity tracking and analytics
- Social features (follow/unfollow)
# 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"- Themes: Modify
tailwind.config.jsfor custom styling - Components: Extend NextUI theme in
src/config/theme.ts - API: Configure endpoints in
src/config/api.ts
// Real-time messaging with typing indicators
const { sendMessage, typingUsers } = useChat();
// Group management
const { createGroup, addMembers } = useGroupChat();// Secure JWT-based auth
const { user, login, logout } = useAuth();
// Role-based access control
const { hasPermission } = usePermissions();// Subscription management
const { subscribe, cancelSubscription } = useSubscription();
// Payment processing
const { processPayment } = usePayment();npm run build
vercel --proddocker build -t tech-tips-hub .
docker run -p 3000:3000 tech-tips-hubnpm run build
npm start# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage- 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
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Wahid - Full Stack Developer & Project Lead
- Next.js for the amazing React framework
- NextUI for beautiful UI components
- Tailwind CSS for utility-first styling
- Vercel for seamless deployment
- π§ Email: support@techtipshub.com
- π¬ Discord: Join our community
- π Issues: GitHub Issues
Made with β€οΈ by the Tech Tips Hub Team