A visually stunning, fully functional Gym Website built with ASP.NET Core MVC and MongoDB featuring:
- 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
- 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
- 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
- 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
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
- .NET 9.0 SDK
- MongoDB Server (local or cloud)
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!
- Navigate to project folder:
cd GymWebsite- Restore packages:
dotnet restore- Build project:
dotnet build- Run application:
dotnet run- Open browser and navigate to:
https://localhost:5001
On first run, visit:
https://localhost:5001/Admin/InitializeDefaultAdmin
Default credentials:
- Username:
admin - Password:
admin123
IMPORTANT: Change these credentials immediately after first login!
- Page Loader - Animated dumbbell with pulsing weights
- Navbar - Smooth scroll effects and animated links
- Hero Section - Smoke effects, light beams, particle background
- Cards - Hover transformations with glowing borders
- Buttons - Ripple effects and gradient animations
- Lightbox - Smooth transitions for gallery images
- Pricing Cards - 3D tilt effect on mouse move
- Scroll Animations - Fade-in effects using Intersection Observer
- Mobile: < 768px
- Tablet: 768px - 992px
- Desktop: > 992px
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- GET
/- Home page - GET
/Gallery- Gallery page - GET
/Trainers- Trainers page - GET
/Membership- Membership plans - GET
/Enquiry- Enquiry form - POST
/Enquiry/Submit- Submit enquiry
- 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
- Password Hashing - BCrypt with salt
- Session Management - Secure session storage
- CSRF Protection - Anti-forgery tokens on forms
- Role-Based Access - Admin management restricted to default admin
- Input Validation - Server-side validation on all forms
- Email notifications for new enquiries
- Payment gateway integration for memberships
- Member dashboard
- Workout tracking
- Diet plan management
- Class booking system
- Real-time chat support
This project is created for educational purposes.
For issues or questions, please create an issue in the repository.
Built with ❤️ using ASP.NET Core MVC & MongoDB