Skip to content

Girik1105/EntreHive_FrontEnd

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

EntreHive Frontend

A Next.js-powered social platform connecting students, professors, and investors in the entrepreneurial ecosystem.

Live Demo Next.js React TypeScript Tailwind CSS

🌐 Links

πŸ“‹ Table of Contents

🎯 Overview

EntreHive is a comprehensive social networking platform designed to bridge the gap between students, professors, and investors in the entrepreneurial ecosystem. The frontend is built with Next.js 15 using the App Router, featuring a modern, responsive UI with dark mode support.

✨ Features

πŸ” Authentication & User Management

  • Email/password authentication with JWT
  • Email verification system
  • Password reset functionality
  • Role-based access (Student, Professor, Investor)
  • Profile customization with profile pictures and bios

πŸ“± Social Feed

  • Curated feed algorithm with engagement scoring
  • Create, edit, and delete posts
  • Rich text content with image uploads
  • Hashtag support
  • Real-time like and comment system
  • Post sharing functionality
  • Visibility controls (public/university-only)

πŸ’Ό Project Management

  • Create and showcase entrepreneurial projects
  • Project types: Startup, Research, Social Impact, Tech Innovation
  • Team management and invitations
  • Project discovery and search
  • Rich project profiles with banners and images
  • Status tracking (Planning, Active, Completed, On Hold)

πŸ’¬ Messaging System

  • Direct Messaging: 1-on-1 conversations
  • Group Conversations: Team-based project messaging
  • Project View Requests: Permission-based access for professors/investors
  • Real-time message updates
  • Unread message indicators
  • Conversation search and filtering

πŸ”” Notifications

  • Real-time notification system
  • Multiple notification types:
    • Likes and comments
    • New followers
    • Project invitations
    • Message notifications
    • Project view requests
  • Mark as read/unread
  • Notification preferences

πŸ” Search & Discovery

  • Global search across users, posts, and projects
  • Advanced filtering options
  • Hashtag search
  • User discovery with follow suggestions
  • Project categorization and tagging

🎨 UI/UX Features

  • Modern, responsive design
  • Dark/Light mode toggle
  • Smooth animations with Framer Motion
  • Mobile-first approach
  • Infinite scroll on feeds
  • Toast notifications
  • Loading states and skeletons
  • Error handling and retry mechanisms

πŸ›  Tech Stack

Core Framework

  • Next.js 15.5.3 - React framework with App Router
  • React 19.1.0 - UI library
  • TypeScript 5 - Type safety

Styling & UI

  • Tailwind CSS 4.0 - Utility-first CSS framework
  • Framer Motion - Animation library
  • Heroicons - Icon library
  • Lucide React - Additional icon set

State Management & Utilities

  • React Context API - Global state management
  • Zod - Schema validation
  • clsx - Conditional className utility

Development Tools

  • Turbopack - Fast bundler (Next.js 15 default)
  • ESLint - Code linting
  • PostCSS - CSS processing

πŸš€ Getting Started

Prerequisites

  • Node.js 18.x or higher
  • npm or yarn package manager
  • Backend API running (see Backend Repository)

Installation

  1. Clone the repository

    git clone https://github.com/Aadit-Chadda/EntreHive_frontend.git
    cd EntreHive_frontend/entrehive
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    NEXT_PUBLIC_API_URL=http://localhost:8000
  4. Run the development server

    npm run dev
    # or
    yarn dev
  5. Open your browser

    Navigate to http://localhost:3000

Building for Production

# Build the application
npm run build

# Start the production server
npm start

πŸ“ Project Structure

entrehive/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                        # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ auth/                   # Authentication pages
β”‚   β”‚   β”‚   β”œβ”€β”€ login/
β”‚   β”‚   β”‚   β”œβ”€β”€ signup/
β”‚   β”‚   β”‚   └── forgot-password/
β”‚   β”‚   β”œβ”€β”€ feed/                   # Main social feed
β”‚   β”‚   β”œβ”€β”€ posts/                  # Post detail pages
β”‚   β”‚   β”œβ”€β”€ projects/               # Project pages
β”‚   β”‚   β”‚   β”œβ”€β”€ [id]/              # Project detail
β”‚   β”‚   β”‚   └── create/            # Create project
β”‚   β”‚   β”œβ”€β”€ inbox/                  # Messaging system
β”‚   β”‚   β”‚   β”œβ”€β”€ direct/            # Direct messages
β”‚   β”‚   β”‚   β”œβ”€β”€ group/             # Group conversations
β”‚   β”‚   β”‚   └── requests/          # Project view requests
β”‚   β”‚   β”œβ”€β”€ profile/                # User profile
β”‚   β”‚   β”‚   └── [username]/        # Public profile view
β”‚   β”‚   β”œβ”€β”€ explore/                # Search and discovery
β”‚   β”‚   β”œβ”€β”€ notifications/          # Notifications page
β”‚   β”‚   β”œβ”€β”€ settings/               # User settings
β”‚   β”‚   β”œβ”€β”€ documentation/          # Platform documentation
β”‚   β”‚   β”œβ”€β”€ components/             # Shared components
β”‚   β”‚   β”‚   β”œβ”€β”€ PostCard.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ PostCardNew.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ProjectCard.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CuratedFeed.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ RightSidebar.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ThemeProvider.tsx
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   β”‚   β”œβ”€β”€ page.tsx                # Home/landing page
β”‚   β”‚   └── globals.css             # Global styles
β”‚   β”œβ”€β”€ components/                 # Reusable components
β”‚   β”‚   β”œβ”€β”€ ProtectedRoute.tsx
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ contexts/                   # React Context providers
β”‚   β”‚   β”œβ”€β”€ AuthContext.tsx
β”‚   β”‚   └── ToastContext.tsx
β”‚   β”œβ”€β”€ lib/                        # Utility functions
β”‚   β”‚   └── api.ts                 # API client
β”‚   β”œβ”€β”€ types/                      # TypeScript type definitions
β”‚   β”‚   └── index.ts
β”‚   └── utils/                      # Helper functions
β”œβ”€β”€ public/                         # Static assets
β”‚   β”œβ”€β”€ Logoblacktransparent.png
β”‚   β”œβ”€β”€ LogoWhitetransparent.png
β”‚   └── ...
β”œβ”€β”€ .env.local                      # Environment variables (create this)
β”œβ”€β”€ next.config.ts                  # Next.js configuration
β”œβ”€β”€ tailwind.config.ts              # Tailwind CSS configuration
β”œβ”€β”€ tsconfig.json                   # TypeScript configuration
└── package.json                    # Dependencies and scripts

πŸ”§ Environment Variables

Create a .env.local file in the root directory with the following variables:

# Backend API URL
NEXT_PUBLIC_API_URL=http://localhost:8000

πŸ“œ Available Scripts

# Development
npm run dev          # Start development server with Turbopack
npm run build        # Build for production
npm start            # Start production server
npm run lint         # Run ESLint

# Package Management
npm install          # Install dependencies
npm update           # Update dependencies

Code Style

  • Follow TypeScript best practices
  • Use Tailwind CSS for styling
  • Maintain component modularity
  • Add proper type definitions
  • Write clear comments for complex logic

Testing

  • Test all user flows before submitting
  • Verify responsive design on multiple screen sizes
  • Check dark/light mode compatibility
  • Ensure API integration works correctly

Questions or Issues? Please open an issue in the GitHub repository.

Backend Repository: EntreHive Backend

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.0%
  • Other 1.0%