Skip to content

About

Modern responsive electrical engineering company website built with React, TypeScript, Vite, and Tailwind CSS.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

VoltCraft Electrical

A production-oriented React landing page for an electrical engineering and power systems company.

VoltCraft project preview

Version Stars Issues React TypeScript Vite Tailwind CSS

Overview

VoltCraft is a single-page marketing website for an electrical engineering contractor. It presents the company, its services, completed projects, delivery process, client feedback, and contact options in a responsive interface with a technical visual language.

The project provides a focused web presence for prospective commercial, industrial, residential, and renewable-energy clients. Its primary goals are to communicate technical credibility, make services easy to scan, showcase representative work, and provide clear paths to request a quote or make contact.

This repository currently contains a frontend-only implementation. There is no backend service, persistent database, authentication layer, or application API.

Features

  • Responsive single-page layout with anchored navigation.
  • Hero section with primary calls to action and operational status treatment.
  • Company overview with animated reveal behavior and value highlights.
  • Service catalogue for installation, maintenance, industrial systems, distribution, lighting, and renewable energy.
  • Filterable project portfolio by category.
  • Process and capability sections with responsive layouts.
  • Testimonial carousel with client navigation and ratings.
  • Contact and quote-request presentation sections.
  • Accessible focus states, semantic headings, alternative text, and reduced-motion support.
  • Reusable React components, typed data models, and centralized static content.

Tech Stack

Area Technology
UI React 18.3.1, React DOM
Language TypeScript 5.6.3
Build tool Vite 5.4.10
Styling Tailwind CSS 3.4.14, PostCSS, Autoprefixer
Icons Lucide React
Code quality ESLint 9 with TypeScript and React plugins
Fonts Archivo, Inter, and JetBrains Mono font families configured in Tailwind
Backend None
Database None
External APIs None
Deployment target Any static hosting platform that can serve a Vite build

Architecture

The application uses a component-oriented React architecture. App.tsx composes page sections, static content is kept in typed data modules, and small custom hooks isolate scroll-reveal, active-section, and count-up behavior.

flowchart TD
	Browser[User browser] --> App[React App]
	App --> Nav[Navbar]
	App --> Sections[Page sections]
	Sections --> Hero[Hero]
	Sections --> Content[About, Services, Projects]
	Sections --> Trust[Stats, Why Us, Process, Testimonials]
	Sections --> Conversion[CTA and Contact]
	Content --> Data[Typed static data modules]
	Trust --> Hooks[Custom React hooks]
	App --> Styles[Tailwind CSS and index.css]
Loading

Project Structure

voltcraft-electrical/
├── public/                  # Public static assets
├── src/
│   ├── components/          # Page sections and reusable UI components
│   ├── data/                # Typed static content for navigation and sections
│   ├── hooks/               # Scroll, count-up, and active-section hooks
│   ├── types/               # Shared TypeScript interfaces
│   ├── App.tsx              # Top-level page composition
│   ├── index.css            # Tailwind layers and design-system styles
│   ├── main.tsx             # React application entry point
│   └── vite-env.d.ts        # Vite type declarations
├── index.html               # HTML entry document
├── postcss.config.js        # PostCSS configuration
├── tailwind.config.js       # Tailwind theme and animation tokens
├── tsconfig.json            # TypeScript project configuration
├── vite.config.ts           # Vite and React plugin configuration
├── package.json             # Scripts and dependencies
└── README.md

Prerequisites

  • Node.js 18 or later
  • npm 9 or later

Check the installed versions:

node --version
npm --version

Installation

Clone the repository and install dependencies:

git clone https://github.com/TARQkop/voltcraft-electrical.git
cd voltcraft-electrical
npm install

Environment Variables

The current frontend does not read environment variables and does not require a .env file. No .env.example is needed for the current implementation.

If a future backend, analytics provider, or form service is introduced, document its public configuration keys in .env.example and keep credentials out of version control.

Running the Project

Start the development server:

npm run dev

Vite will print the local URL, typically http://localhost:5173.

Create a production build:

npm run build

Preview the production build locally:

npm run preview

Run the configured linter:

npm run lint

API Documentation

There is no backend or API in this repository. Contact and quote-request interactions are currently presented by the frontend; no HTTP endpoints or server-side form handlers are defined.

Database

The application has no database. All page content is local, typed static data under src/data/.

Security

Because this is a static frontend, there is currently no authentication, authorization, server-side validation, CORS policy, or secret management layer in this repository.

Before connecting forms or external services:

  • Validate and sanitize all submitted data on the server.
  • Keep API keys and credentials in deployment environment variables.
  • Restrict CORS to approved origins.
  • Add rate limiting and abuse protection to public form endpoints.
  • Avoid storing sensitive customer information in client-side storage.

Deployment

The application can be deployed to any static hosting provider that supports a Vite output directory, including Vercel, Netlify, Cloudflare Pages, or GitHub Pages with suitable Vite base-path configuration.

Typical deployment commands are:

npm ci
npm run build

Serve the generated dist/ directory as the site artifact. The current project does not require deployment environment variables.

Screenshots and Demo

The project is designed to run locally with Vite. A public demo URL and repository screenshots have not been configured yet.

Suggested assets for a future release:

  • Desktop homepage screenshot
  • Mobile homepage screenshot
  • Hosted demo link in this section

Roadmap

  • Add a production contact form backed by a validated server endpoint.
  • Replace placeholder portfolio and testimonial imagery with licensed project photography.
  • Add automated unit and component tests.
  • Add continuous integration for linting, type-checking, and production builds.
  • Add performance and accessibility checks to the CI pipeline.
  • Add a content management workflow for projects, services, and testimonials.
  • Publish a live deployment and document its release process.

Contributing

Contributions are welcome. To propose a change:

  1. Create a focused branch from the default branch.
  2. Make the smallest coherent change that addresses the issue.
  3. Run npm run lint and npm run build before opening a pull request.
  4. Use a clear commit message that describes the change.
  5. Open a pull request with context, screenshots for visual changes, and any relevant testing notes.

Keep pull requests focused, preserve existing component patterns, and avoid committing secrets or generated build output.

Development Guidelines

  • Use TypeScript types for shared data and component contracts.
  • Keep static content in src/data/ rather than embedding large content blocks in components.
  • Prefer small, reusable components with clear responsibilities.
  • Follow the existing Tailwind utility and design-token conventions.
  • Use semantic HTML and meaningful alternative text for images.
  • Preserve keyboard focus visibility and reduced-motion behavior.
  • Run ESLint and the production build before submitting changes.
  • Add tests when introducing stateful behavior or changing user-facing workflows.

Testing

No automated test framework or test script is currently configured. The available validation commands are:

npm run lint
npm run build

The roadmap includes adding unit, component, accessibility, and browser-level coverage.

License

No open-source license has been declared for this repository yet. Until a license file is added, the source should be treated as all rights reserved. Contributions and reuse should not be assumed to be permitted.

Author and Maintainer

Tariq (TARQkop)

Acknowledgements

  • React for the UI runtime.
  • Vite for the development server and build pipeline.
  • Tailwind CSS for utility-first styling.
  • Lucide for interface icons.
  • Unsplash and Pexels for current placeholder imagery where referenced by the application.

About

Modern responsive electrical engineering company website built with React, TypeScript, Vite, and Tailwind CSS.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages