Skip to content

Repository files navigation

NEAR Infrastructure Committee Website

A comprehensive website showcasing the NEAR Infrastructure Committee's work, team, case studies, and focus areas for the NEAR Protocol ecosystem.

πŸš€ Features

Core Sections

  • Hero Section - Main landing with action cards for funding applications, RFPs, and feedback
  • Focus Areas - Categorized infrastructure components with examples and resources
  • Funded Projects - Funded projects with status tracking and company information
  • Team Section - Infrastructure Committee and Working Group members with company affiliations
  • Blog Section - Latest updates and announcements from the committee

Interactive Features

  • Search & Filter - Find team members and case studies quickly
  • Responsive Design - Optimized for desktop, tablet, and mobile
  • Company Logos - Visual branding for all infrastructure providers
  • Status Tracking - Real-time project status (Maintenance, In Development, Completed)
  • Social Links - Direct connections to team member profiles

πŸ“ Project Structure

near-infrastructure/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ data/                    # JSON data files
β”‚   β”‚   β”œβ”€β”€ blog-posts.json      # Blog articles with images
β”‚   β”‚   β”œβ”€β”€ case-studies.json    # Funded projects and companies
β”‚   β”‚   β”œβ”€β”€ focus-areas.json     # Infrastructure categories
β”‚   β”‚   └── team.json           # Team members and companies
β”‚   β”œβ”€β”€ companies/              # Company logos and branding
β”‚   β”œβ”€β”€ team/                   # Team member photos
β”‚   β”œβ”€β”€ blog/                   # Blog post images
β”‚   └── [other assets]
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ near/               # NEAR-specific components
β”‚   β”‚   β”‚   β”œβ”€β”€ BlogSection.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CaseStudies.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ FocusAreas.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ TeamSection.tsx
β”‚   β”‚   β”‚   └── [other components]
β”‚   β”‚   └── ui/                 # Reusable UI components
β”‚   └── [other source files]
└── [config files]

πŸ“Š Data Organization

/public/data/ - JSON Data Files

blog-posts.json

{
  "title": "Blog Post Title",
  "date": "January 15, 2025",
  "url": "https://www.near.org/blog/...",
  "excerpt": "Blog post description",
  "image": "/blog/blog-image.webp"
}

case-studies.json

{
  "name": "Project Name",
  "description": "Project description",
  "status": "Maintenance|In Development|Completed",
  "fundingDate": "2024-Q1",
  "logo": "/companies/company-logo.jpg",
  "productUrl": "https://project-url.com",
  "tags": ["Category1", "Category2"]
}

focus-areas.json

{
  "id": "category-id",
  "title": "Category Title",
  "description": "Category description",
  "examples": [
    {
      "name": "Example Name",
      "url": "https://example.com",
      "description": "Example description",
      "logo": "/companies/logo.jpg"
    }
  ]
}

team.json

{
  "name": "Team Member Name",
  "title": "Job Title",
  "bio": "Member bio",
  "image": "/team/member-photo.jpg",
  "company": {
    "name": "Company Name",
    "logo": "/companies/company-logo.png",
    "url": "https://company.com"
  }
}

/public/companies/ - Company Assets

  • Company logos in various formats (PNG, JPG, SVG)
  • Consistent naming convention for easy reference
  • Used across case studies, focus areas, and team sections

/public/team/ - Team Assets

  • Individual team member photos
  • Consistent sizing and format
  • Fallback to placeholder images if missing

πŸ› οΈ Technologies Used

  • Framework: React 18 with TypeScript
  • Build Tool: Vite for fast development and building
  • Styling: Tailwind CSS with custom design system
  • UI Components: shadcn/ui component library
  • Icons: Lucide React icons
  • Carousel: Embla Carousel for blog and hero sections
  • Deployment: Static site generation

πŸš€ Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/your-username/near-infrastructure.git
    cd near-infrastructure
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open your browser Navigate to http://localhost:5173 to view the website

Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build for production
  • npm run preview - Preview production build locally
  • npm run lint - Run ESLint for code quality

πŸ“ Content Management

Adding New Blog Posts

  1. Add blog post data to /public/data/blog-posts.json
  2. Add corresponding image to /public/blog/
  3. Update image path in JSON data

Adding New Case Studies

  1. Add case study data to /public/data/case-studies.json
  2. Add company logo to /public/companies/
  3. Update logo path in JSON data

Adding Team Members

  1. Add team member data to /public/data/team.json
  2. Add member photo to /public/team/
  3. Add company logo if new company

Adding Focus Areas

  1. Add focus area data to /public/data/focus-areas.json
  2. Add company logos for examples
  3. Update component to display new category

🎨 Design System

Color Palette

  • Primary: NEAR brand colors
  • Background: Light/dark theme support
  • Accent: Infrastructure-focused color scheme

Typography

  • Headings: Custom Grotesk font family
  • Body: System font stack
  • Code: Monospace for technical content

Components

  • Cards: Consistent styling across all sections
  • Buttons: Primary, secondary, and ghost variants
  • Navigation: Responsive tabs and search functionality

🌐 Deployment

Production Build

npm run build

Deployment Options

  • Netlify: Connect repository for automatic deployments
  • Vercel: Import project for serverless deployment
  • GitHub Pages: Use GitHub Actions for static hosting
  • Custom Domain: Configure DNS for your domain

🀝 Contributing

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

Development Guidelines

  • Follow TypeScript best practices
  • Use consistent naming conventions
  • Add proper error handling
  • Test responsive design
  • Update documentation for new features

πŸ“ž Support

For questions about the NEAR Infrastructure Committee:

πŸ“„ License

This project is part of the NEAR Protocol ecosystem and follows the NEAR Foundation's open source guidelines.

About

NEAR Infrastructure Comittee landing page

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages