Skip to content

TechVentureBuilder/Astro-Gym-Fitness-Website

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FitZone Gym - Fitness Website

A modern, responsive fitness gym website built with Astro, featuring a clean design and comprehensive information about gym facilities, classes, pricing, and more.

Astro Tailwind CSS TypeScript

πŸ–ΌοΈ Preview

Website Screenshot

AstroFlow Website Preview

🌟 Features

  • Modern Design: Clean, responsive UI built with Tailwind CSS
  • Fast Performance: Static site generation with Astro for optimal loading speeds
  • Comprehensive Content:
    • Homepage with hero section, features, statistics, and testimonials
    • About page with gym history and trainer profiles
    • Classes page with detailed class information and schedules
    • Pricing page with membership plans
    • Contact page with form and location information
  • Responsive Layout: Mobile-first design that works on all devices
  • Accessible: Built with accessibility best practices
  • SEO Optimized: Proper meta tags and semantic HTML

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm (or yarn/pnpm)

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/astro-gym-fitness-website.git
cd astro-gym-fitness-website
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:4321

πŸ“œ Available Scripts

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run astro ... Run CLI commands like astro add, astro check

πŸ“ Project Structure

/
β”œβ”€β”€ public/
β”‚   └── favicon.svg          # Site favicon
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/              # Images and static assets
β”‚   β”œβ”€β”€ components/          # Astro components
β”‚   β”‚   β”œβ”€β”€ Classes.astro
β”‚   β”‚   β”œβ”€β”€ ClassSchedule.astro
β”‚   β”‚   β”œβ”€β”€ ContactForm.astro
β”‚   β”‚   β”œβ”€β”€ Facilities.astro
β”‚   β”‚   β”œβ”€β”€ FAQ.astro
β”‚   β”‚   β”œβ”€β”€ Features.astro
β”‚   β”‚   β”œβ”€β”€ Footer.astro
β”‚   β”‚   β”œβ”€β”€ Header.astro
β”‚   β”‚   β”œβ”€β”€ Hero.astro
β”‚   β”‚   β”œβ”€β”€ PricingPlans.astro
β”‚   β”‚   β”œβ”€β”€ Statistics.astro
β”‚   β”‚   β”œβ”€β”€ SuccessStories.astro
β”‚   β”‚   └── Testimonials.astro
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   └── siteData.ts      # Site configuration and data
β”‚   β”œβ”€β”€ layouts/
β”‚   β”‚   └── Layout.astro     # Main layout component
β”‚   β”œβ”€β”€ pages/               # Route pages
β”‚   β”‚   β”œβ”€β”€ index.astro      # Homepage
β”‚   β”‚   β”œβ”€β”€ about.astro      # About page
β”‚   β”‚   β”œβ”€β”€ classes.astro    # Classes page
β”‚   β”‚   β”œβ”€β”€ contact.astro    # Contact page
β”‚   β”‚   β”œβ”€β”€ pricing.astro    # Pricing page
β”‚   β”‚   └── 404.astro        # 404 error page
β”‚   └── styles/
β”‚       └── global.css       # Global styles
β”œβ”€β”€ astro.config.mjs         # Astro configuration
β”œβ”€β”€ package.json             # Project dependencies
└── tsconfig.json            # TypeScript configuration

🎨 Customization

Updating Site Information

Edit src/data/siteData.ts to customize:

  • Gym name and tagline
  • Contact information (address, phone, email)
  • Social media links
  • Navigation menu
  • Features, classes, pricing plans
  • Testimonials and success stories
  • FAQs and schedules

Styling

The project uses Tailwind CSS for styling. You can:

  • Modify src/styles/global.css for global styles
  • Use Tailwind utility classes directly in components
  • Customize Tailwind configuration (if needed)

Adding New Pages

  1. Create a new .astro file in src/pages/
  2. The file name becomes the route (e.g., services.astro β†’ /services)
  3. Import and use the Layout component from src/layouts/Layout.astro

🚒 Deployment

Build for Production

npm run build

This creates a dist/ folder with your static site ready for deployment.

Deploy to Various Platforms

Vercel:

npm i -g vercel
vercel

Netlify:

  • Connect your repository to Netlify
  • Set build command: npm run build
  • Set publish directory: dist

GitHub Pages:

  • Update astro.config.mjs with your base URL
  • Use GitHub Actions or deploy manually

Other Platforms:

  • Any static hosting service (Cloudflare Pages, AWS S3, etc.)

πŸ› οΈ Tech Stack

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

Contributions are welcome! Please read our Code of Conduct first, then:

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

πŸ”’ Security

If you discover a security vulnerability, please see our Security Policy for information on how to report it.

πŸ“§ Contact

For questions or support, please contact:

πŸ™ Acknowledgments

  • Astro team for the amazing framework
  • Tailwind CSS for the utility-first CSS framework
  • Remix Icon for the beautiful icons
  • All contributors and users of this project

Made with ❀️ for fitness enthusiasts

About

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Astro 74.2%
  • TypeScript 23.5%
  • CSS 2.1%
  • JavaScript 0.2%