Tempered by fire, secured by steel
The Forge is an immersive 3D authentication system inspired by the ancient art of blacksmithing. Perfect for celebrating strength, craftsmanship, and mastery โ ideal for men's day themes (Defender's Day, February 23rd) with universal appeal.
Built with Go Fiber, GORM, SQLite, Alpine.js, and Tailwind CSS โ this system features stunning visual effects including molten metal glow, flying sparks, forge flames, and hammer strike animations.
- ๐จ Immersive 3D Effects: Pulsing forge glow, animated sparks, dynamic flames
- โก Smart Validation: Real-time email availability check, password strength meter
- ๐ Secure: Bcrypt password hashing, session-based authentication
- ๐จ Beautiful UI: Glassmorphism cards, gradient effects, responsive design
- ๐ No CGO: Uses pure Go SQLite driver (
github.com/glebarez/sqlite) - ๐จ Async Operations: No page reloads, smooth UX with Alpine.js
- ๐ฏ Production Ready: Optimized for Render deployment
Default credentials:
- ๐ง Email:
forge@example.com - ๐ Password:
password123
| Technology | Purpose |
|---|---|
| Go 1.21+ | Backend runtime |
| Fiber v2 | Fast web framework |
| GORM | ORM for database operations |
| SQLite | Lightweight embedded database |
| Alpine.js | Reactive frontend framework |
| Tailwind CSS | Utility-first CSS framework |
| Bcrypt | Password hashing |
- Go 1.21 or higher
- Git
git clone https://github.com/smart-developer1791/go-fiber-auth-forge
cd go-fiber-auth-forgeInitialize dependencies and run:
go mod tidy
go run .Open http://localhost:3000 ๐ฅ
go-fiber-auth-forge/
โโโ main.go # Core application with Fiber routes, GORM models
โโโ templates/
โ โโโ login.html # Login page with forge effects
โ โโโ register.html # Registration with password strength meter
โ โโโ dashboard.html # Protected dashboard area
โโโ go.mod # Go dependencies
โโโ .gitignore # Git ignore rules
โโโ render.yaml # Render deployment config
โโโ README.md # This file
- Login: Email + password with async validation
- Registration: Email uniqueness check, password strength meter, confirmation matching
- Sessions: Secure session-based auth with Fiber middleware
- Logout: Clean session destruction
| Effect | Description |
|---|---|
| Forge Glow | Pulsing orange/red radial gradient simulating hot metal |
| Flying Sparks | Dynamic particles rising from the bottom with random trajectories |
| Flame Animation | Flickering flame effects on both sides |
| Hammer Strike | Button animation on submit (rotation + translation) |
| Metal Shine | Gradient overlays creating metallic luster |
- โ Email: Format validation + real-time availability check via API
- โ Password: 6+ characters, strength meter (5 levels: Weak โ Excellent)
- โ Confirmation: Real-time matching with visual feedback
- โ Async: All validations happen without page reload
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
GET |
/ |
Redirect to login | โ |
GET |
/login |
Login page | โ |
GET |
/register |
Registration page | โ |
GET |
/dashboard |
Protected dashboard | โ |
POST |
/api/login |
Login handler | โ |
POST |
/api/register |
Registration handler | โ |
POST |
/api/logout |
Logout handler | โ |
GET |
/api/check-email |
Email availability | โ |
GET |
/api/user |
Get current user | โ |
| Strength | Criteria |
|---|---|
| Weak | Less than 6 characters |
| Fair | 6+ characters |
| Good | 10+ characters OR mixed case |
| Strong | Mixed case + numbers |
| Excellent | Mixed case + numbers + special characters |
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Server port |
The forge theme uses a warm palette:
/* Primary: Orange/Red gradient */
from-orange-500 via-red-500 to-orange-600
/* Background: Dark zinc/neutral */
from-zinc-900 via-neutral-900 to-black
/* Accents: Metallic silver */
border-orange-500/20Adjust animation speeds in <style> blocks:
@keyframes forge-glow {
/* Change duration: 3s โ 2s for faster pulsing */
animation: forge-glow 2s ease-in-out infinite;
}- ๐ Defender's Day (February 23rd) celebrations
- ๐จ Men's Day themed applications
- โ๏ธ Strength & Craftsmanship branding
- ๐ญ Industrial/Manufacturing platforms
- ๐ฎ Gaming authentication (RPG/crafting themes)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- ๐จ Inspired by the ancient art of blacksmithing
- ๐ฅ Tailwind CSS for the amazing utility classes
- โก Alpine.js for reactive simplicity
- ๐ Fiber for blazing fast Go web framework
- ๐ GORM for elegant database operations