Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”จ The Forge - Blacksmith Authentication System

Tempered by fire, secured by steel

Go Version Fiber GORM Alpine.js Tailwind CSS Render


๐Ÿ”ฅ Overview

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.

โœจ Key Features

  • ๐Ÿ”จ 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

๐ŸŽฌ Demo

Default credentials:

  • ๐Ÿ“ง Email: forge@example.com
  • ๐Ÿ”‘ Password: password123

๐Ÿ› ๏ธ Tech Stack

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

๐Ÿš€ Quick Start

Prerequisites

  • Go 1.21 or higher
  • Git

Installation

git clone https://github.com/smart-developer1791/go-fiber-auth-forge
cd go-fiber-auth-forge

Initialize dependencies and run:

go mod tidy
go run .

Open http://localhost:3000 ๐Ÿ”ฅ


๐Ÿ“‚ Project Structure

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

๐ŸŽจ Features Breakdown

๐Ÿ” Authentication

  • 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

๐ŸŽญ Visual Effects

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

๐Ÿง  Smart Validation

  • โœ… 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

๐Ÿ”ง API Endpoints

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 โœ…

๐ŸŽฏ Password Strength Levels

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

๐ŸŒ Environment Variables

Variable Default Description
PORT 3000 Server port

๐ŸŽจ Customization

Colors

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/20

Animation Timing

Adjust animation speeds in <style> blocks:

@keyframes forge-glow {
    /* Change duration: 3s โ†’ 2s for faster pulsing */
    animation: forge-glow 2s ease-in-out infinite;
}

๐ŸŽ–๏ธ Perfect For

  • ๐ŸŽ‰ Defender's Day (February 23rd) celebrations
  • ๐Ÿ‘จ Men's Day themed applications
  • โš”๏ธ Strength & Craftsmanship branding
  • ๐Ÿญ Industrial/Manufacturing platforms
  • ๐ŸŽฎ Gaming authentication (RPG/crafting themes)

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  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

๐Ÿ™ Acknowledgments

  • ๐Ÿ”จ 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

Deploy in 10 seconds

Deploy to Render

About

๐Ÿ”จ The Forge โ€” Immersive 3D blacksmith authentication with molten metal effects, flying sparks & smart validation. Go Fiber + GORM + SQLite + Alpine.js + Tailwind. Perfect for Defender's Day! No CGO.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages