GithubHelp home page GithubHelp logo

amirali1690 / monthend Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 49 KB

The project is a full package of a CloudFormation and Python codes

Python 100.00%
aws-lambda cloudformation iam-roles python sqs circleci lambda

monthend's Introduction

CircleCI

PiBalanceUpdate

Description

The project is a complete CI/CD pipelines of a serverless microservices that creates monthly reports. An AWS Lambda functions read the data from AWS RDS MySQL Database and send the data to an SQS queue. The SQS queue is polled by another Lambda functions that use the data to create multiple PDF reports and upload them to S3. Then a Presigned URL is created for each PDF and is sent to users via a SNS.

Tools

  • aws-cli
  • AWS Lambda
  • AWS CloudFormation
  • AWS RDS
  • AWS SQS
  • AWS S3
  • CircleCI
  • Python packages:
    • pymysql
    • boto3

Prerequisites

  • AWS Account
  • CircleCI Account
  • AWS SNS with required subcribers.

Installation

Once you have your AWS and CircleCI account setup, fork the project to your own Github account and connect it to your CircleCI account. You need add your AWS credentials(keys) to your CircleCI environment. Once everything is set, just need to push the code, and it will deploy all services on the AWS via CloudFormation template.

Contact

If you have any questions or suggestions please contact me on [email protected]

MonthEnd

This project include following parts:
1- A Lambda function that with Python that run every month and collect data from an AWS RDS MySQL database and upload it to a SQS queue
2- A Lambda function with Python that read the data from SQS and create a pdf and store in S3. Create a Presigned URL and send the URL to a SNS topic
3- A SQS Queue that decouple the two Lambda functions

Included files

1- Cloudformation Template(Including Lambda Functions and SQS Queue and required IAM Roles)
2- CircleCI file
3- Python codes for Lambda functions

monthend's People

Contributors

amirali1690 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.