Skip to content

lightningkite/lightning-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lightning Server

A project that drastically speeds up server development. Comparable to Django for Python.

Built to work for all common serverless platforms.

Major Features

  • Abstractions
    • Multiple backends - AWS, Azure, Ktor
      • Generates Terraform for AWS
    • Database Abstraction backed by KotlinX Serialization
      • Supports MongoDB, partial Postgres, local JSON storage
      • Also supports a RAM mock for unit testing
    • Cache Abstraction
      • Supports Redis, Memcached, DynamoDB
      • Also supports a RAM mock for unit testing
    • Email Abstraction
      • Supports SMTP, Amazon SES
      • Also supports a console mock for testing
    • SMS Abstraction
      • Supports Twilio and a console mock for testing
    • File System Abstraction
      • Supports Local, AWS S3, and Azure Blob Storage
  • Easy Server Definitions
    • Simple HTTP Endpoint Definition
    • Typed API Endpoints
      • Typed input, output, and user
      • Supports many content types, including JSON, BSON, CBOR, CSV, FormData
    • Event-Based Websocket Definition
    • Scheduled tasks
    • Asynchronous tasks
    • Permission rules for users accessing databases
  • Pre-built Route Sets
    • REST endpoints with permissions
    • Authentication endpoints
      • Email Magic Links
      • Email PIN
      • SMS PIN
      • Password
      • OAuth for Google, Apple, and GitHub
  • Server management tools
    • Built-in database admin and endpoint tester
    • Health check page
    • Built-in OpenAPI documentation
    • Automatically generated documentation for API
    • Automatically generated SDKs for TypeScript and Kotlin

Documentation

Road Map

  • Improved per-environment Terraform generation
  • Key-path ordering and grouping
  • Additional Documentation
  • Tutorial

When Requested

  • Complete Azure Support
    • CosmosDB (using MongoDB interface)
    • Http Endpoints
    • WebSockets
    • Scheduled Tasks
    • Asynchronous Tasks
    • Generate Terraform

Specifically Not Planned

  • DynamoDB as Database Support - DynamoDB is unfortunately far too limited to fit our current abstraction. If scan is able to be done in reverse in the future, this may become possible.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published