Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoScan UAV - company website

Website for drone (UAV/BSP) services: precision agriculture, surveying, inspections, photo/video. Target domain: geoscanuav.pl.

Note: the site content (UI) is in Polish - the product targets the Polish market. Code, comments, commits and this README are in English.

Stack

  • Vite 5 + React 18
  • react-router-dom - clean URLs (/uslugi, /cennik, /uslugi/<service> …; Polish slugs kept for local SEO)
  • vite-react-ssg - static prerendering (SSG) of every page for SEO and AI crawlers
  • Plain CSS (src/styles.css, design tokens + light/dark)

Scripts

npm install       # install dependencies
npm run dev       # dev server (HMR)
npm run build     # production build → dist/ (prerenders all routes)
npm run preview   # local preview of the build (clean URLs)

Structure

index.html            – shell + base meta + Consent Mode v2
src/
  main.jsx            – ViteReactSSG entry
  routes.jsx          – route definitions (incl. per-service pages)
  app.jsx             – layout (nav, outlet, footer, cookies, reveal, a11y)
  site.js             – config (domain, NAP, GA id, form endpoint)
  seo.jsx             – <Seo> + JSON-LD builders
  data.jsx            – services, applications, pricing, stats
  shared.jsx          – Arrow, AnchorLink, SubHeader, CTABack
  nav.jsx home.jsx services.jsx portfolio.jsx pricing.jsx legal.jsx notfound.jsx
  cookies.jsx         – cookie banner + Google Analytics (Consent Mode)
  svg-motifs.jsx tweaks.jsx styles.css
public/               – robots.txt, sitemap.xml, llms.txt, manifest, og-image, favicons, contact.php, .htaccess
scripts/gen-assets.mjs – og-image + favicon generator from the logo
scripts/gen-logo.mjs   – logo export (mark + full, dark/light, SVG + PNG)

Contact form

The form POSTs JSON to public/contact.php, which sends an e-mail to kontakt@geoscanuav.pl via PHP mail() (hostido local mail). Includes server-side validation and a honeypot field. Requires the mailbox to exist on the hosting.

Deploy

Static build - run npm run build and upload dist/. Hosting: hostido.pl (Apache/PHP). public/.htaccess handles clean URLs, the 404 page, gzip and cache. See docs/deploy-hosting.md.

SEO

  • Per-page indexable URL, <title>, meta description, canonical, Open Graph
  • JSON-LD: LocalBusiness/ProfessionalService, Service (per service), OfferCatalog, FAQPage, BreadcrumbList
  • robots.txt (allows AI crawlers), sitemap.xml, llms.txt
  • Prerendering = full content in static HTML (Google + AI)

To fill in

The [...] placeholders in src/legal.jsx (company data) and legalName/geo in src/site.js

  • after registering the business.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages