Files
FTCWebsite/replit.md
abhiramtx af539e6e5c Enhance site with premium scrolling animations and visual effects
Added Lenis for smooth scrolling, GSAP ScrollTrigger for animations, parallax effects, custom cursor, and animated gradients.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 5e584ab0-c340-4432-97ef-1972582b60e9
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: a4adfc1f-e40d-45ec-b176-9a9553c2c6e6
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/d0a1d46d-d203-4308-bc6a-312ac7c0243b/5e584ab0-c340-4432-97ef-1972582b60e9/MFdA8rN
2025-11-08 22:23:22 +00:00

127 lines
5.4 KiB
Markdown

# FTC Team 23344 "Technical Turbulence" Website
## Overview
Flask-based website for FTC Team 23344 with a modern dark theme (#000000 pure black background), comprehensive content management system, PostgreSQL database integration, and premium smooth-scrolling animations.
## Recent Changes (November 8, 2025)
### Premium Animation & UX Enhancements
Transformed the entire site with smooth scrolling, parallax effects, and grand animations for a premium, modern feel:
**Animation System:**
- **Lenis Smooth Scrolling**: Integrated velocity-based smooth scrolling with 1.2s duration and custom easing
- **GSAP ScrollTrigger**: Properly proxied with Lenis for synchronized scroll-triggered animations
- **Parallax Effects**: Multi-layer parallax on hero images, team photos, and sponsor logos
- **Scroll Animations**: Fade-in and slide-up effects on all major content sections
- **Magnetic Buttons**: Interactive hover effects with 3D transforms on CTAs
- **Floating Elements**: Subtle continuous animations on cards and member profiles
**Visual Enhancements:**
- **Custom Cursor**: Premium dual-cursor effect (main + follower) on desktop
- **Scroll Progress Bar**: Gradient progress indicator at top of page
- **Animated Gradients**: Shifting blue/purple gradients on stat cards
- **Hover Glows**: Radial gradient effects that expand on card hover
- **Shimmer Effects**: Animated shine effects on headings and dividers
- **Background Ambience**: Subtle floating gradient orbs for depth
**Performance:**
- All animations use CSS transforms (GPU-accelerated)
- RequestAnimationFrame loop for smooth 60fps
- Mobile-optimized with reduced motion support
- Custom cursor disabled on mobile devices
**Libraries Added:**
- Lenis v1.0.42 for smooth scrolling
- GSAP 3.12.2 + ScrollTrigger for advanced animations
## Recent Changes (October 3, 2025)
### Admin Panel System
Created a complete admin panel with password-protected access for managing all website content:
**Access:** `/admin/login` (Password: `techturb123`)
**Features:**
- 📊 **Stats Management**: Edit homepage statistics (seasons, members, awards, competitions)
- 👥 **Members/Mentors Management**: Add, edit, remove team members and mentors with profile picture uploads
- 🏆 **Competitions Management**: Add competitions by season with optional images, awards (bullet points), descriptions, event names, and dates
- 💼 **Sponsors Management**: Add/remove sponsors with logo uploads and website URLs
### Database Integration
- Migrated all content from hardcoded templates to PostgreSQL database
- All public pages now pull data dynamically from database
- Data persists across server restarts
- Initial data seeded from existing website content
**Database Schema:**
- `stats` - Homepage statistics
- `members` - Team members with images, roles, names
- `mentors` - Mentors/coaches with images, roles, names
- `competitions` - Competition entries organized by season
- `sponsors` - Sponsor cards with logos and URLs
### Design Improvements
- Pure black (#000000) background throughout
- Cinematic hero section (700px tall) with darkened team image and text overlay
- Light gray text (gray-300) for paragraph content
- Reduced top margins on headers (40px instead of 64px)
- Mobile-responsive with optimized padding (20px/16px)
- Modern cards with 20px border radius and blue accent hover effects
## Project Structure
```
├── app.py # Flask routes, database connections, admin system
├── templates/
│ ├── admin/ # Admin panel templates
│ │ ├── login.html
│ │ ├── base.html # Admin layout with side navigation
│ │ ├── stats.html
│ │ ├── members.html
│ │ ├── competitions.html
│ │ └── sponsors.html
│ ├── base.html # Public site layout
│ ├── home.html # Homepage with stats from DB
│ ├── contributors.html # Team members from DB
│ ├── competitions.html # Competitions from DB
│ └── sponsors.html # Sponsors from DB
├── static/
│ ├── css/styles.css # All styling
│ ├── js/scripts.js
│ └── images/ # Team photos, logos, uploads
└── replit.md # This file
```
## Technology Stack
- **Backend**: Flask (Python)
- **Database**: PostgreSQL (Neon-backed via Replit)
- **Session Management**: Flask-Session
- **File Uploads**: Werkzeug secure_filename
- **Frontend**: HTML5, CSS3, JavaScript
## User Preferences
- Pure black (#000000) background theme
- Gray-300 text color for paragraphs (light grayish, not pure white)
- Preserve hero section layered image design (michiana.png + techturb.gif)
- Minimal navbar with blur effect
- Dramatic spacing reduction throughout site
- Mobile-first responsive design
## Database Connection
Environment variables automatically configured:
- `DATABASE_URL`
- `PGHOST`, `PGPORT`, `PGUSER`, `PGPASSWORD`, `PGDATABASE`
## Security Notes
- Admin password currently hardcoded (techturb123) - consider moving to environment variable for production
- Session secret key uses environment variable with fallback
- File uploads use secure_filename to prevent path traversal
- Admin routes protected with session-based authentication
## Future Considerations
- Add admin password management
- Implement image optimization for uploads
- Add bulk operations for members/competitions
- Consider adding revision history for content changes
- Add export/backup functionality for database content