Skip to content

singhanshika24/dotnetpr

Repository files navigation

EliteFit Gym Website

A visually stunning, fully functional Gym Website built with ASP.NET Core MVC and MongoDB featuring:

Features

Public Features

  • Cinematic Landing Page - Animated hero section with smoke effects and glowing CTAs
  • Gallery - Animated grid with lightbox and filter functionality
  • Trainers - Profile cards with hover bio transitions
  • Membership Plans - Glowing pricing cards with 3D tilt effects
  • Enquiry Form - Contact form with MongoDB integration

Admin Features

  • Secure Login - Authentication system with BCrypt password hashing
  • Dashboard - View and manage all enquiries
  • Role-Based Access - Default admin can add/remove other admins
  • Enquiry Management - Filter, search, and update enquiry status

Tech Stack

  • Backend: ASP.NET Core 9.0 MVC
  • Database: MongoDB
  • Authentication: Session-based with BCrypt
  • Frontend: HTML5, CSS3 (Custom), JavaScript (Vanilla)
  • Icons: Font Awesome 6.4.0
  • Fonts: Poppins, Orbitron

Color Scheme

  • Primary Background: #0a0a0a (Deep Black)
  • Secondary Background: #151515 (Dark Gray)
  • Neon Blue: #00d4ff
  • Neon Pink: #ff006e
  • Neon Purple: #9d4edd
  • Neon Green: #06ffa5
  • Soft White: #f5f5f5

Project Structure

GymWebsite/
├── Controllers/
│   ├── HomeController.cs
│   ├── GalleryController.cs
│   ├── TrainersController.cs
│   ├── MembershipController.cs
│   ├── EnquiryController.cs
│   └── AdminController.cs
├── Models/
│   ├── Enquiry.cs
│   ├── Admin.cs
│   ├── LoginViewModel.cs
│   └── MongoDBSettings.cs
├── Services/
│   └── MongoDBService.cs
├── Views/
│   ├── Home/Index.cshtml
│   ├── Gallery/Index.cshtml
│   ├── Trainers/Index.cshtml
│   ├── Membership/Index.cshtml
│   ├── Enquiry/Index.cshtml
│   ├── Admin/
│   │   ├── Login.cshtml
│   │   ├── Dashboard.cshtml
│   │   └── ManageAdmins.cshtml
│   └── Shared/_Layout.cshtml
└── wwwroot/
    ├── css/site.css
    └── js/site.js

Setup Instructions

Prerequisites

  1. .NET 9.0 SDK
  2. MongoDB Server (local or cloud)

Database Setup

MongoDB Atlas Connection (Already Configured)

The project is pre-configured with your MongoDB Atlas connection:

mongodb+srv://23amtics402_db_user:12121212@cluster0.zswxcyy.mongodb.net/?appName=Cluster0

This connection string is already set in appsettings.json, so you can run the project immediately without additional database setup!

Running the Application

  1. Navigate to project folder:
cd GymWebsite
  1. Restore packages:
dotnet restore
  1. Build project:
dotnet build
  1. Run application:
dotnet run
  1. Open browser and navigate to:
https://localhost:5001

Initialize Default Admin

On first run, visit:

https://localhost:5001/Admin/InitializeDefaultAdmin

Default credentials:

  • Username: admin
  • Password: admin123

IMPORTANT: Change these credentials immediately after first login!

Key Animations & Effects

  1. Page Loader - Animated dumbbell with pulsing weights
  2. Navbar - Smooth scroll effects and animated links
  3. Hero Section - Smoke effects, light beams, particle background
  4. Cards - Hover transformations with glowing borders
  5. Buttons - Ripple effects and gradient animations
  6. Lightbox - Smooth transitions for gallery images
  7. Pricing Cards - 3D tilt effect on mouse move
  8. Scroll Animations - Fade-in effects using Intersection Observer

Responsive Breakpoints

  • Mobile: < 768px
  • Tablet: 768px - 992px
  • Desktop: > 992px

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

API Endpoints

Public

  • GET / - Home page
  • GET /Gallery - Gallery page
  • GET /Trainers - Trainers page
  • GET /Membership - Membership plans
  • GET /Enquiry - Enquiry form
  • POST /Enquiry/Submit - Submit enquiry

Admin (Requires Authentication)

  • GET /Admin/Login - Login page
  • POST /Admin/Login - Authenticate
  • GET /Admin/Dashboard - View enquiries
  • GET /Admin/ManageAdmins - Manage admins (default admin only)
  • POST /Admin/AddAdmin - Add new admin
  • POST /Admin/DeleteAdmin - Remove admin
  • POST /Admin/UpdateEnquiryStatus - Update status
  • POST /Admin/DeleteEnquiry - Delete enquiry
  • POST /Admin/Logout - Logout

Security Features

  1. Password Hashing - BCrypt with salt
  2. Session Management - Secure session storage
  3. CSRF Protection - Anti-forgery tokens on forms
  4. Role-Based Access - Admin management restricted to default admin
  5. Input Validation - Server-side validation on all forms

Future Enhancements

  • Email notifications for new enquiries
  • Payment gateway integration for memberships
  • Member dashboard
  • Workout tracking
  • Diet plan management
  • Class booking system
  • Real-time chat support

License

This project is created for educational purposes.

Support

For issues or questions, please create an issue in the repository.


Built with ❤️ using ASP.NET Core MVC & MongoDB

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors