الملفات
ScanDrone/README.md
2025-10-28 22:04:46 +03:00

112 أسطر
2.2 KiB
Markdown

# Drone Build Showcase Website
A modern, responsive website for showcasing drone builds and services, built with React, TypeScript, and Vite.
## Features
- Responsive design with dark/light theme toggle
- Internationalization support (English and Arabic)
- 3D model showcase with carousel
- Contact form with backend integration
- Modern UI components using shadcn/ui
## Tech Stack
- **Frontend**: React 18, TypeScript, Vite
- **Styling**: Tailwind CSS, shadcn/ui
- **Internationalization**: i18next
- **Backend**: Node.js with Express and Nodemailer for contact form handling
## Getting Started
### Prerequisites
- Node.js (version 16 or higher)
- Bun or npm package manager
### Installation
1. Clone the repository:
```bash
git clone <repository-url>
cd drone-build-showcase-complete
```
2. Install dependencies:
```bash
bun install
# or
npm install
```
### Development
Start the development server:
```bash
bun run dev
# or
npm run dev
```
The site will be available at http://localhost:8080
### Building for Production
```bash
bun run build
# or
npm run build
```
### Preview Production Build
```bash
bun run preview
# or
npm run preview
```
## Backend Setup (Contact Form)
To enable the contact form functionality:
1. Configure Gmail SMTP credentials in `.env` file
2. Run the Node.js server:
```bash
bun run start
# or
npm start
```
### Gmail SMTP Configuration
To configure Gmail for sending emails:
1. Enable 2-factor authentication on your Gmail account
2. Generate an App Password for the Gmail account
3. Update the `.env` file with your credentials:
```
EMAIL_USER=scandrone308@gmail.com
EMAIL_PASS=your-app-password
```
## Project Structure
```
src/
├── components/ # React components
├── hooks/ # Custom React hooks
├── i18n/ # Internationalization files
├── integrations/ # External service integrations
├── lib/ # Utility functions
├── pages/ # Page components
└── assets/ # Static assets
```
## Environment Variables
Create a `.env` file in the root directory with necessary environment variables.
## License
This project is proprietary and confidential.