Skip to content

imbinnng/ebike-official

Repository files navigation

CityEbike - Modern Urban Electric Bikes

A modern, responsive e-bike brand website built with Next.js 14, TypeScript, and Tailwind CSS. Featuring a vibrant orange color scheme and comprehensive functionality for showcasing electric bikes for urban transportation.

🚀 Features

Core Features

  • Big Banner Slider: Auto-rotating hero banners with navigation controls
  • Product Introduction: Feature-rich showcase of e-bike benefits
  • News System: Dynamic news listing and detail pages
  • Responsive Design: Optimized for all screen sizes
  • Modern UI: Clean, contemporary design using shadcn/ui components

Pages

  • Home (/): Hero banner, product features, latest news
  • News (/news): News listing with category filters
  • News Detail (/news/[id]): Individual news articles
  • About (/about): Company story and values
  • Join Us (/joinus): Contact form and community information

Technical Features

  • TypeScript: Full type safety
  • Next.js 14: Latest features with App Router
  • Tailwind CSS: Utility-first styling
  • shadcn/ui: Modern component library
  • Responsive Design: Mobile-first approach
  • SEO Optimized: Meta tags and semantic HTML

🛠 Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui
  • Icons: Lucide React
  • Build Tool: Next.js with Turbopack

🎨 Design System

Color Scheme

  • Primary: Orange (#f97316)
  • Secondary: Neutral grays
  • Accent: Complementary colors
  • Dark Mode: Full dark theme support

Components

  • Cards with hover effects
  • Responsive navigation
  • Interactive buttons
  • Form inputs
  • Banners and carousels

📦 Installation

  1. Clone the repository

    git clone <repository-url>
    cd ebike-official
  2. Install dependencies

    npm install
  3. Run development server

    npm run dev
  4. Open browser Navigate to http://localhost:3000

🚀 Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint

📁 Project Structure

src/
├── app/                    # Next.js App Router
│   ├── about/             # About page
│   ├── globals.css        # Global styles
│   ├── joinus/           # Join Us page
│   ├── layout.tsx         # Root layout
│   ├── news/             # News pages
│   │   ├── [id]/        # Dynamic news detail
│   │   └── page.tsx      # News listing
│   └── page.tsx          # Home page
├── components/            # React components
│   ├── ui/              # shadcn/ui components
│   ├── Footer.tsx       # Global footer
│   ├── Header.tsx       # Global header
│   ├── HeroBanner.tsx   # Home page banner
│   ├── NewsList.tsx     # News listing component
│   └── ProductIntro.tsx # Product features
└── lib/                 # Utilities
    └── utils.ts          # Helper functions

🎯 Key Components

HeroBanner

  • Auto-rotating carousel
  • Manual navigation controls
  • Clickable banners linking to news
  • Responsive design
  • Smooth transitions

NewsList

  • Grid layout for news items
  • Category tags and dates
  • Hover effects and interactions
  • Links to detail pages

Header & Footer

  • Responsive navigation menu
  • Mobile hamburger menu
  • Social media links
  • Contact information

🔧 Customization

Theme Colors

Modify src/app/globals.css to update the color scheme:

:root {
  --primary: 25 95% 53%; /* Orange */
  /* Other color variables */
}

Adding Pages

  1. Create folder in src/app/
  2. Add page.tsx file
  3. Update navigation in Header.tsx

Component Development

  • Use TypeScript for type safety
  • Follow shadcn/ui patterns
  • Implement responsive design
  • Add hover states and transitions

🌟 Performance

  • Optimized Build: Automatic code splitting
  • Image Optimization: Next.js Image component
  • Static Generation: Where possible
  • Lazy Loading: Components as needed
  • Tree Shaking: Unused code removal

📱 Responsive Breakpoints

  • Mobile: < 768px
  • Tablet: 768px - 1024px
  • Desktop: > 1024px
  • Large Desktop: > 1280px

🚀 Deployment

Vercel (Recommended)

  1. Push to GitHub
  2. Connect Vercel account
  3. Deploy automatically

Other Platforms

  • Netlify: Build command npm run build
  • AWS Amplify: React app deployment
  • Docker: Use provided Dockerfile

🤝 Contributing

  1. Fork the repository
  2. Create feature branch
  3. Make changes with tests
  4. Submit pull request

📄 License

This project is licensed under the MIT License.

📞 Support

For support, please contact:

  • Email: info@cityebike.com
  • Phone: +1 (555) 123-4567
  • Address: 123 Urban Street, City, State 12345

Built with ❤️ for modern urban transportation

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published