core

module
v0.1.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2025 License: MIT

README ΒΆ

logo

Leapkit Core

Leapkit Core is a Go web framework library that provides essential building blocks for building web applications. It's designed to be a lightweight, modular foundation with clean APIs and sensible defaults.

πŸ—οΈ Core Components

Server Module (server/)

  • HTTP server with routing capabilities
  • Middleware support
  • Session management
  • Error handling with templating support
  • Built on top of standard Go net/http

Database Module (db/)

  • Database connection management
  • Support for SQLite and PostgreSQL
  • Database migration system
  • Database creation utilities

Rendering Engine (render/)

  • Template rendering system using Plush templating engine
  • Support for layouts and partials
  • File system-based template loading
  • Context-aware rendering

Form Handling (form/)

  • Form data decoding using github.com/go-playground/form
  • Form validation system
  • HTTP request form processing

Tools (tools/)

  • Environment variable loading utilities

🎯 Purpose

This library serves as a foundational component for the Leapkit ecosystem - a Go-based web framework that aims to provide:

  • Simplicity: Clean, straightforward APIs for common web development tasks
  • Modularity: Each component can be used independently
  • Convention over Configuration: Sensible defaults (like app/layouts/application.html for layouts)
  • Database Agnostic: Support for multiple database systems
  • Modern Go Practices: Uses Go 1.22+ and follows contemporary Go patterns

πŸ“¦ Dependencies

The project uses minimal, well-established dependencies:

  • Plush: For templating (from Buffalo ecosystem)
  • Gorilla Sessions: For session management
  • SQLite3: For database support
  • go-playground/form: For form processing

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Alt

Directories ΒΆ

Path Synopsis
Package assets provides asset management functionality including fingerprinting, import maps, and static file serving.
Package assets provides asset management functionality including fingerprinting, import maps, and static file serving.
Package db provides database connection management, migration system, and database creation utilities with support for SQLite and PostgreSQL.
Package db provides database connection management, migration system, and database creation utilities with support for SQLite and PostgreSQL.
Package form provides utilities for decoding HTTP form values into structs.
Package form provides utilities for decoding HTTP form values into structs.
Package render provides a template rendering system using the Plush templating engine.
Package render provides a template rendering system using the Plush templating engine.
Package server provides HTTP server functionality with routing capabilities, middleware support, and session management built on top of standard Go net/http.
Package server provides HTTP server functionality with routing capabilities, middleware support, and session management built on top of standard Go net/http.
tools
envload
envload package loads .env files into the environment.
envload package loads .env files into the environment.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL