Skip to content

In-Development website for the Texas A&M Turtle Robotics Organization

Notifications You must be signed in to change notification settings

AJBScout/Turtle-website

Β 
Β 

Repository files navigation

The T.U.R.T.L.E Robotics Website

πŸš€ Features

  • Responsive Design with mobile-first approach
  • GSAP Animations with ScrollTrigger for smooth scroll animations
  • Interactive ChromaGrid with mouse-following spotlight effects
  • Animated Statistics with counter animations
  • Glass Morphism design elements

πŸ› οΈ Tech Stack

  • Framework: React 18 with Vite
  • Routing: React Router DOM
  • Styling: Tailwind CSS with custom CSS variables
  • Animations: GSAP (GreenSock) with ScrollTrigger
  • Font: Inter (Google Fonts) - weights 100-900
  • Package Manager: npm

🎨 Design System

Color Scheme

  • Gradients: Turtle Red gradient from #7B0000 to #A60000

Typography

  • Primary Font: Inter with weights 100-900
  • Hero Text: 8xl-9xl, tracking-tight
  • Section Headers: 5xl-6xl
  • Body Text: font-light, tracking-wide

πŸ“ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Layout.jsx              # Main layout with navigation
β”‚   β”œβ”€β”€ ChromaGrid.jsx          # Interactive project grid
β”‚   β”œβ”€β”€ StatisticsCard.jsx      # Animated statistics cards
β”‚   └── AnimatedBackground.jsx  # Canvas particle background
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ Home.jsx                # Home page with hero and sections
β”‚   β”œβ”€β”€ About.jsx               # About page with statistics
β”‚   β”œβ”€β”€ Projects.jsx            # Projects page with ChromaGrid
β”‚   β”œβ”€β”€ Hatchling.jsx           # Hatchling program page
β”‚   └── Apply.jsx               # Application page
β”œβ”€β”€ hooks/
β”‚   β”œβ”€β”€ useScrollAnimation.js   # Custom scroll animation hook
β”‚   └── useCounter.js           # Animated counter hook
β”œβ”€β”€ data/
β”‚   └── projects.js             # Project and statistics data
β”œβ”€β”€ App.jsx                     # Main app component
β”œβ”€β”€ main.jsx                    # React entry point
└── main.css                    # Global styles and CSS variables

πŸš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository

    git clone <repository-url>
    cd turtle-robotics-website
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser The browser should open automatically, or navigate to http://localhost:5173/ (or the port shown in terminal)

Build for Production

npm run build

Preview Production Build

npm run preview

🎯 Key Components

ChromaGrid

Interactive grid component with:

  • Mouse-following spotlight effects
  • GSAP animations for smooth interactions
  • Custom gradients for each project card
  • Responsive grid layout

StatisticsCard

Animated statistics with:

  • Scroll-triggered counter animations
  • Spotlight hover effects
  • Glass morphism design

ThemeToggleButton

Theme management with:

  • Sun/moon icon transitions
  • Local storage persistence
  • System preference detection

🎨 Customization

Colors

Edit CSS variables in src/main.css:

:root {
  --color-bg: #F5F5F5;
  --color-text: #1F1F1F;
  --color-accent: #A60000;
  --color-secondary: #FFD700;
}

Animations

Modify GSAP animations in components or use the useScrollAnimation hook:

const elementRef = useScrollAnimation({
  trigger: "top 80%",
  y: 50,
  opacity: 0,
  duration: 1
})

Projects Data

Update project information in src/data/projects.js:

export const roboticsProjects = [
  {
    image: "project-image-url",
    title: "Project Title",
    subtitle: "Project Subtitle",
    handle: "@project_handle",
    borderColor: "#3B82F6",
    gradient: "linear-gradient(145deg, #3B82F6, #000)"
  }
]

πŸ“± Responsive Design

The website is fully responsive with:

  • Mobile-first approach
  • Breakpoints: sm (640px), md (768px), lg (1024px), xl (1280px)
  • Flexible grid layouts
  • Touch-friendly interactions

🎭 Animations

GSAP Animations

  • Hero text staggered animations
  • Scroll-triggered fade-in-up effects
  • Counter animations
  • Smooth theme transitions

CSS Animations

  • Pulse glow effects
  • Bounce animations
  • Hover transforms
  • Custom keyframes

πŸ”§ Development

Code Quality

  • ESLint configuration
  • Prettier formatting
  • React best practices
  • Component-based architecture

Performance

  • Lazy loading for images
  • Optimized GSAP animations
  • Efficient re-renders with React.memo
  • Minimal bundle size

πŸ“„ License

This project is licensed under the MIT License.


Built with ❀️ for T.U.R.T.L.E Robotics

About

In-Development website for the Texas A&M Turtle Robotics Organization

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 95.3%
  • CSS 4.2%
  • HTML 0.5%