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

 
 
 

Contributors