Fast, reliable, and affordable device repairs with modern web technology
π Live Demo β’ π Documentation β’ π Report Bug β’ β¨ Request Feature
- β¨ Features
- π― What Makes This Special
- π Quick Start
- βοΈ Configuration
- π¨ Customization
- π¦ Deployment
- π Security
- π€ Contributing
- π License
- π Credits
| Feature | Description |
|---|---|
| π¨ Modern UI/UX | Beautiful dark mode, smooth animations, and responsive design |
| π§ Contact System | Integrated email notifications via Mailgun |
| π Admin Panel | Secure authentication with testimonial & stats management |
| β‘ High Performance | Optimized animations, lazy loading, and GPU acceleration |
| π± Mobile First | Fully responsive across all devices and screen sizes |
| π Dark Mode | Elegant dark theme with seamless switching |
| π Dynamic Stats | Admin-controlled counters for business metrics |
| β Testimonials | CRUD system for customer reviews |
| π 3D Effects | Interactive service cards with tilt and glow effects |
| π Real-time Updates | Dynamic content loading without page refresh |
Frontend: Tailwind CSS 3.x + Vanilla JavaScript (ES6+)
Backend: Netlify Functions (Serverless)
Storage: Netlify Blobs (Key-Value Store)
Email: Mailgun API
Animations: AOS (Animate on Scroll)
Icons: Feather Icons
- Service Cards: 3D tilt effects with cursor-following glow
- Animated Counters: Smooth count-up animations on scroll
- Parallax Scrolling: Depth-based background movement
- Progress Bar: Visual scroll progress indicator
- Smooth Transitions: Hardware-accelerated CSS transforms
- π Statistics Management: Update devices repaired counter
- π¬ Testimonial Control: Add, view, and delete customer reviews
- π Secure Authentication: JWT-based session management
- π± Responsive Dashboard: Works on all devices
- Node.js 14+ (for local development)
- Netlify account (for deployment)
- Mailgun account (for contact form)
# Clone the repository
git clone https://github.com/cogrow4/Green-Repairs.git
# Navigate to project directory
cd Green-Repairs
# Install dependencies (if using Netlify Dev)
npm install
# Copy environment variables
cp .env.example .env
# Edit .env with your credentials
nano .env# Start Netlify Dev server
netlify dev
# Or use a simple HTTP server
python -m http.server 8000Open http://localhost:8888 in your browser.
Create a .env file in the root directory:
# Email Configuration (Mailgun)
MAILGUN_API_KEY=your_mailgun_api_key
MAILGUN_DOMAIN=your_mailgun_domain
MAILGUN_TO_EMAIL=[email protected]
# Admin Panel (Required)
ADMIN_PASSWORD=your_strong_password
# Admin Panel (Optional - has default value)
# ADMIN_SECRET=your_custom_secretπ‘ Tip: See ADMIN_SETUP.md for detailed configuration guide.
-
Connect Repository
- Go to Netlify Dashboard
- Click "Add new site" β "Import an existing project"
- Connect your GitHub repository
-
Configure Environment Variables
Site settings β Environment variables β Add variablesAdd all variables from your
.envfile -
Deploy Settings
- Build command: (leave empty)
- Publish directory:
/ - Functions directory:
netlify/functions
Edit the Tailwind config in index.html:
tailwind.config = {
theme: {
extend: {
colors: {
primary: {
500: '#22c55e', // Change this to your brand color
}
}
}
}
}Add a new service card in index.html under the Services section:
<div class="service-card group" data-aos="fade-up">
<div class="w-16 h-16 rounded-2xl bg-gradient-to-br from-green-100...">
<i data-feather="your-icon" class="w-8 h-8..."></i>
</div>
<h3 class="text-2xl font-bold mb-4">Your Service</h3>
<p class="text-gray-600 dark:text-gray-300 mb-6">
Service description...
</p>
<!-- Pricing and link -->
</div>Adjust animation settings in js/main.js:
AOS.init({
duration: 800, // Animation duration
easing: 'ease-in-out',
once: true, // Only animate once
offset: 100 // Trigger offset
});# Build and test
npm run build
# Deploy via Netlify CLI
netlify deploy --prodThe site is static HTML/CSS/JS and can be deployed to:
- Vercel
- GitHub Pages
- Cloudflare Pages
- Any static hosting service
β οΈ Note: Netlify Functions required for admin panel and contact form.
- β
Never commit
.envfile to version control - β
Use strong passwords for
ADMIN_PASSWORD - β Enable HTTPS in production (Netlify provides this)
- β Regularly update dependencies
- β Use environment variables for all sensitive data
- β
Set secure cookies in production (
HttpOnly,Secure,SameSite)
- Admin panel:
/admin.html - Default username:
admin - Password: Set via
ADMIN_PASSWORDenvironment variable - Session duration: 12 hours
Contributions are what make the open-source community amazing! Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow existing code style
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
- Add comments for complex logic
This project is licensed under the Custom Non-Commercial License (NCL) - see the LICENSE.md file for details.
β You CAN:
- Use the code for your business website (repair shop, restaurant, etc.)
- Use for personal projects and portfolios
- Modify and adapt the code
- Share and distribute the code (for free)
- Use for educational purposes
- Make money from your business that uses this code
β You CANNOT:
- Sell this code or derivatives (on marketplaces, etc.)
- Charge money for the code itself
- Remove copyright notices
- Distribute without sharing the source code
π You MUST:
- Credit the original author (coeng24)
- Share modifications under the same license
- Include the original license with distributions
- Keep the source code open
coeng24 - GitHub
- Tailwind CSS - Utility-first CSS framework
- Feather Icons - Beautiful open source icons
- AOS - Animate on Scroll library
- Netlify - Serverless deployment platform
- Mailgun - Email API service
Inspired by modern web design trends and the need for accessible, performant repair service websites.