Skip to content

matheus-1618/Lusk

Repository files navigation

AWS Python Terraform React FastAPI

Serverless Architecture Management Interface for AWS

Lusk is an early-stage open source tool to assist developers in their first steps into cloud computing.

With Lusk, you don't have to manage the underlying configuration of servers, subnets and DataBases.

You just need to:

  • Create your own web application (there is a React template in webapp/ folder);

  • Create your processing functions (AWS Lambdas functions) or use ready-made functions in the lambda_functions folder, which can integrate with DataBases, process requests and more, all behind managed API Endpoints.

Easy isn't?

Build your own Lusk

  • Do want to create your own Serverless Architecture Management Plataform?

  • Understand more about Cloud and IaC concepts with a hands-on tutorial?

  • Integrate another services or applications in the Lusk?

If you want to discover the underlying steps to build this infrastructure using Terraform or it's a curious person, follow the Roadmap, and create your own Plataform, learning and customizing as you wish .

Enjoy a managed Full Stack Serverless archictecture

With Lusk deploy a Full stack app become simplier.

image

⚠️ It is desirable to have your Github credentials in the machine/system which you are executing the application. If you don't have, configure it following this tutorial.

Using Graphical Interface

  1. Clone the repository:
git clone https://github.com/matheus-1618/Lusk
  1. Install dependencies (if you already have some installed, it'll be jumped):
./install.sh
  1. Run the graphical interface:
./run.sh
  1. Log with your AWS credentials and Github token (used internal only in a .env file):

Creating your first application in 5 clicks

  1. Create an Dynamo DB NoSQL Database:
  1. Create two Lambda Functions behind an API Gateway endpoint's to interact with Dynamo:

Deploy insert_in_dynamo first, and read_dynamo after (you can test it):

  1. Integrate the API's endpoints in the webapp/App.js file to feedback the Frontend interface:
  1. Create an Web Application hosted on Amplify Hosting with updates with CI/CD in your Github account:
  1. Clean, if you wish, your infrastructure with one click:

Using CLI Interface

If you prefer use a Command Line interface, follow the steps above:

  1. Clone the repository:
git clone https://github.com/matheus-1618/Lusk
  1. Install dependencies (if you already have some installed, it'll be jumped):
./install.sh
  1. Run the Command Line interface:
./cli.sh
  1. Fill out the credentials to create an .env file:
  1. Enjoy the Application!