Skip to content

Ahnabu/Lift

Repository files navigation

Brother's Lift Technology

A modern, full-featured website for a premier lift and elevator company in Bangladesh, showcasing comprehensive product catalogs, project galleries, and customer engagement features.

🌟 Overview

Brother's Lift Technology provides quality lifts and related industrial equipment for all types of properties, from personal family houses to high-rise commercial buildings. This website serves as the company's digital showroom and customer engagement platform.

✨ Features

Product Showcases

  • Lift Solutions: Passenger lifts, cargo lifts, capsule lifts, hospital lifts, escalators, and imported lifts
  • Industrial Equipment: Forklifts, generators, HVAC systems
  • Renewable Energy: Solar power solutions
  • Infrastructure: Street lighting systems
  • Spare Parts: Comprehensive spare parts catalog

Interactive Features

  • πŸ–ΌοΈ Dynamic image galleries with lightbox viewing
  • πŸ“± Responsive design for all devices
  • 🎨 Modern UI with smooth animations (Framer Motion)
  • πŸ“§ Contact form with email integration
  • 🎯 Product detail pages with specifications
  • πŸ“Έ Project showcase gallery
  • πŸ” SEO optimized

πŸ› οΈ Tech Stack

  • Framework: Next.js 15.4 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS 4
  • UI Components:
    • Radix UI (Dialog, Navigation Menu, Hover Card)
    • Shadcn/ui components
  • Animation: Framer Motion
  • Image Gallery: Yet Another React Lightbox
  • Carousel: Swiper.js & Embla Carousel
  • Form Handling: React Hook Form + Zod validation
  • HTTP Client: Axios
  • Email: Nodemailer
  • Analytics: Vercel Analytics
  • Process Manager: PM2 (ecosystem.config.cjs)

πŸ“‹ Prerequisites

  • Node.js 20.x or higher
  • npm, yarn, pnpm, or bun

πŸš€ Getting Started

Installation

# Clone the repository
git clone <repository-url>
cd lift

# Install dependencies
npm install
# or
yarn install
# or
pnpm install

Environment Variables

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

NODE_ENV=development

# Email Configuration (for contact form)
EMAIL_USER=your-email@gmail.com
EMAIL_PASSWORD=your-app-password
EMAIL_TO=recipient@example.com

# Site URL
NEXT_PUBLIC_SITE_URL=http://localhost:3000

Refer to EMAIL_SETUP.md for detailed email configuration instructions.

Development

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 to view the application.

The development server uses Turbopack for faster builds and hot module replacement.

Build for Production

# Create optimized production build
npm run build

# Start production server
npm run start

Linting

npm run lint

πŸ“ Project Structure

lift/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                    # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ api/               # API routes (contact form)
β”‚   β”‚   β”œβ”€β”€ products/          # Product category pages
β”‚   β”‚   β”œβ”€β”€ about-us/          # About page
β”‚   β”‚   β”œβ”€β”€ contact-us/        # Contact page
β”‚   β”‚   β”œβ”€β”€ projects/          # Projects showcase
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ components/            # React components
β”‚   β”‚   β”œβ”€β”€ ui/               # Shadcn UI components
β”‚   β”‚   β”œβ”€β”€ product-details/  # Product detail components
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ data/                  # Product data and configurations
β”‚   β”œβ”€β”€ services/              # API service functions
β”‚   β”œβ”€β”€ hooks/                 # Custom React hooks
β”‚   β”œβ”€β”€ lib/                   # Utility libraries
β”‚   β”œβ”€β”€ types/                 # TypeScript type definitions
β”‚   β”œβ”€β”€ schemas/               # Zod validation schemas
β”‚   └── config/                # Site configuration
β”œβ”€β”€ public/                    # Static assets
└── ...

πŸ”§ Configuration

Site Configuration

Edit src/config/site.ts to update:

  • Company name and description
  • Contact information
  • Social media links
  • Navigation structure

Tailwind Configuration

Customize design in tailwind.config.js and global styles in src/app/globals.css.

πŸ“§ Email Setup

The contact form uses Nodemailer for email delivery. See EMAIL_SETUP.md for detailed setup instructions including:

  • Gmail configuration
  • App password generation
  • Environment variable setup
  • Testing procedures

🚒 Deployment

Vercel (Recommended)

The easiest deployment option:

Deploy with Vercel

  1. Push your code to GitHub/GitLab/Bitbucket
  2. Import project in Vercel
  3. Configure environment variables
  4. Deploy

PM2 (Self-hosted)

For self-hosted deployments using PM2:

# Build the project
npm run build

# Start with PM2
pm2 start ecosystem.config.cjs

# Monitor
pm2 monit

# View logs
pm2 logs

🎨 Customization

Adding New Products

  1. Add product data in src/data/ directory
  2. Create service file in src/services/
  3. Add product detail component in src/components/product-details/
  4. Create product page in src/app/products/

Modifying Styles

  • Global styles: src/app/globals.css
  • Tailwind config: tailwind.config.js
  • Component styles: Use Tailwind utility classes

🀝 Contributing

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

πŸ“ License

This project is private and proprietary.

πŸ“ž Contact

Brother's Lift Technology

πŸ™ Acknowledgments


Note: This is a production website for Brother's Lift Technology. For development queries, refer to the documentation or contact the development team.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •