Skip to content

A modern React + TypeScript web app connecting customers with certified electrical service providers. Features secure OTP-based authentication, responsive UI with Tailwind CSS, comprehensive service & order management, and Razorpay payment integration.

Notifications You must be signed in to change notification settings

deepak748030/Electric-Solutions

Repository files navigation

Electric Solutions Logo

⚑ Electric Solutions

Premium Electrical Services & Repair Platform

Live Demo GitHub React TypeScript Tailwind

πŸ”§ Professional electrical services platform connecting customers with certified technicians


Features β€’ Demo β€’ Installation β€’ Tech Stack β€’ Structure β€’ Contributing β€’ Contact


🌟 Project Overview

Electric Solutions is a modern web application built with React and TypeScript that connects customers with professional electrical service providers. The platform features a comprehensive service booking system, user authentication with OTP verification, and an admin dashboard for service management.

🎯 Mission Statement

"Connecting communities with reliable, professional electrical services through innovative technology and exceptional user experience."


✨ Key Features

πŸ” Secure Authentication

Complete user registration and login system with mobile OTP verification

πŸ› οΈ Service Management

Comprehensive electrical services catalog with categories and detailed information

πŸ“± Responsive Design

Mobile-first design optimized for all devices using Tailwind CSS

πŸ‘¨β€πŸ’Ό Admin Dashboard

Full admin panel for managing services, orders, categories, and user profiles

πŸ“Š Order Management

Complete order tracking and management system for both users and admins

πŸ’³ Payment Integration

Razorpay payment gateway integration for secure transactions

πŸš€ Application Pages & Features

  • 🏠 Homepage: Hero section with service categories and featured electrical services
  • πŸ” Authentication: Login/Register with mobile OTP verification system
  • πŸ› οΈ Services: Comprehensive electrical services catalog with search and filtering
  • πŸ“ž Contact: Contact form and customer support information
  • ℹ️ About: Company information and team details
  • πŸ“¦ User Orders: Order history and status tracking for customers
  • πŸ‘¨β€πŸ’Ό Admin Panel: Complete administrative control including:
    • Dashboard with analytics and statistics
    • Service management (CRUD operations)
    • Category management
    • Order management and tracking
    • User profile management
    • Settings and configuration

🎬 Demo

πŸ–₯️ Live Application

Experience the platform: electric-solutions.vercel.app

πŸ› οΈ Tech Stack

Frontend Framework Styling & UI State & Data Development
React
TypeScript
React Router
Tailwind
Shadcn/UI
Lucide
TanStack Query
React Hook Form
Axios
Vite
Vercel
ESLint

πŸ“š Core Dependencies

{
  "frontend": {
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-router-dom": "^6.26.2",
    "typescript": "latest"
  },
  "ui_components": {
    "@radix-ui/react-*": "latest",
    "tailwindcss": "latest",
    "lucide-react": "^0.462.0",
    "class-variance-authority": "^0.7.1"
  },
  "state_management": {
    "@tanstack/react-query": "^5.56.2",
    "react-hook-form": "^7.53.0",
    "zod": "^3.23.8"
  },
  "utilities": {
    "axios": "^1.8.4",
    "clsx": "^2.1.1",
    "date-fns": "^3.6.0",
    "tailwind-merge": "^2.5.2"
  },
  "payment": {
    "razorpay": "integrated"
  }
}

πŸš€ Installation & Setup

πŸ“‹ Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn package manager
  • Git for version control

⚑ Quick Start

# Clone the repository
git clone https://github.com/deepak748030/Electric-Solutions.git

# Navigate to project directory
cd Electric-Solutions

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your API configuration

# Start development server
npm run dev

# Open browser at http://localhost:8080

πŸ”§ Environment Configuration

Create a .env file in the root directory:

# API Configuration
VITE_API_URL=https://api.electricsolutions.in/api

# For local development (uncomment if using local backend)
# VITE_API_URL=http://localhost:3000/api

πŸ“¦ Available Scripts

# Development
npm run dev          # Start development server on port 8080

# Production
npm run build        # Create production build
npm run preview      # Preview production build

# Code Quality
npm run lint         # Run ESLint for code quality

πŸ“ Project Structure

Electric-Solutions/
β”œβ”€β”€ πŸ“ public/
β”‚   β”œβ”€β”€ logo.png                    # Application logo
β”‚   β”œβ”€β”€ favicon.ico                 # Favicon
β”‚   └── lovable-uploads/           # Uploaded assets
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/
β”‚   β”‚   β”œβ”€β”€ πŸ“ ui/                 # Reusable UI components (Shadcn/UI)
β”‚   β”‚   β”œβ”€β”€ πŸ“ layout/             # Layout components (Navbar, Footer)
β”‚   β”‚   β”œβ”€β”€ πŸ“ home/               # Homepage specific components
β”‚   β”‚   β”œβ”€β”€ πŸ“ common/             # Shared components (Cards, Buttons)
β”‚   β”‚   └── πŸ“ payment/            # Payment integration components
β”‚   β”œβ”€β”€ πŸ“ pages/
β”‚   β”‚   β”œβ”€β”€ πŸ“ auth/               # Authentication pages
β”‚   β”‚   β”‚   β”œβ”€β”€ Login.tsx          # User login with OTP
β”‚   β”‚   β”‚   β”œβ”€β”€ Register.tsx       # User registration with verification
β”‚   β”‚   β”‚   └── ForgotPassword.tsx # Password recovery
β”‚   β”‚   β”œβ”€β”€ πŸ“ admin/              # Admin dashboard pages
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.tsx      # Admin analytics dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ Services.tsx       # Service management
β”‚   β”‚   β”‚   β”œβ”€β”€ Orders.tsx         # Order management
β”‚   β”‚   β”‚   β”œβ”€β”€ Categories.tsx     # Category management
β”‚   β”‚   β”‚   β”œβ”€β”€ Profile.tsx        # Admin profile
β”‚   β”‚   β”‚   └── Settings.tsx       # System settings
β”‚   β”‚   β”œβ”€β”€ Index.tsx              # Homepage
β”‚   β”‚   β”œβ”€β”€ Services.tsx           # Services catalog
β”‚   β”‚   β”œβ”€β”€ About.tsx              # About page
β”‚   β”‚   β”œβ”€β”€ Contact.tsx            # Contact page
β”‚   β”‚   β”œβ”€β”€ UserOrders.tsx         # User order history
β”‚   β”‚   └── NotFound.tsx           # 404 error page
β”‚   β”œβ”€β”€ πŸ“ hooks/                  # Custom React hooks
β”‚   β”œβ”€β”€ πŸ“ lib/                    # Utility functions and configurations
β”‚   └── πŸ“ styles/                 # Global styles and CSS
β”œβ”€β”€ πŸ“„ package.json                # Dependencies and scripts
β”œβ”€β”€ πŸ“„ vite.config.ts              # Vite configuration
β”œβ”€β”€ πŸ“„ tailwind.config.ts          # Tailwind CSS configuration
β”œβ”€β”€ πŸ“„ tsconfig.json               # TypeScript configuration
└── πŸ“„ README.md                   # Project documentation

πŸ”— API Integration

The application integrates with a backend API for all data operations:

πŸ” Authentication Endpoints

  • POST /api/users/register - User registration
  • POST /api/users/login - User authentication
  • POST /api/users/send-otp - Send OTP for verification
  • POST /api/users/verify-otp - Verify OTP code

πŸ› οΈ Service Management

  • GET /api/services - Fetch all services
  • GET /api/services/:id - Get specific service details
  • POST /api/services - Create new service (Admin)
  • PUT /api/services/:id - Update service (Admin)
  • DELETE /api/services/:id - Delete service (Admin)

πŸ“¦ Order Management

  • GET /api/orders - Fetch user orders
  • POST /api/orders - Create new order
  • PUT /api/orders/:id - Update order status

🀝 Contributing

We welcome contributions to improve Electric Solutions! Here's how you can help:

πŸ”€ How to Contribute

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

πŸ“ Contribution Guidelines

  • Follow existing code style and TypeScript conventions
  • Write clear, descriptive commit messages
  • Test your changes thoroughly
  • Update documentation if needed
  • Ensure all builds pass before submitting

πŸ› Reporting Issues

Found a bug? Please open an issue with:

  • Clear description of the problem
  • Steps to reproduce the issue
  • Expected vs actual behavior
  • Screenshots or error messages (if applicable)

πŸ“œ License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2024 Deepak Kushwah

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

πŸ‘¨β€πŸ’» About the Developer

Deepak Kushwah

Deepak Kushwah

Full Stack Developer & Software Engineer

Email LinkedIn GitHub

"Passionate about creating innovative web solutions that connect businesses with their customers."

🎯 Technical Expertise

  • Frontend: React, TypeScript, Next.js, Vue.js, Tailwind CSS
  • Backend: Node.js, Express.js, Python, RESTful APIs
  • Database: PostgreSQL, MongoDB, MySQL
  • Cloud & DevOps: AWS, Vercel, Docker, CI/CD
  • Tools: Git, Webpack, Vite, ESLint, Prettier

πŸ™ Acknowledgments

Special thanks to the amazing open-source community and tools that made this project possible:

  • React Team for the powerful frontend framework
  • Tailwind CSS for the utility-first CSS framework
  • Shadcn/UI for beautiful, accessible React components
  • Radix UI for low-level UI primitives
  • TanStack Query for powerful data fetching and state management
  • Vite for lightning-fast development experience
  • Vercel for seamless deployment and hosting

πŸ“ˆ Project Statistics

GitHub stars GitHub forks GitHub watchers Last commit Repository size Top language

⚑ Electric Solutions ⚑

Powering connections between customers and electrical service professionals

🌐 Visit Live Demo | πŸ“‚ View Source Code

Made with ❀️ by Deepak Kushwah


⭐ Star this repository if you found it helpful!

About

A modern React + TypeScript web app connecting customers with certified electrical service providers. Features secure OTP-based authentication, responsive UI with Tailwind CSS, comprehensive service & order management, and Razorpay payment integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages