Demonstration of Requirements understanding, proposing a solution and implementation by using the latest tools and techniques.
- Original repository can be found at klarna-serverless@bitbucket
- Bitbucket Pipelines
- Bitbucket Deployments
- This app is built as assignment for Klarna.
- Adds
nosetests
for unit testing. - CI/CD Demonstration
- AWS Resources Monitoring and maintenance of multiple versions
- Code quality measures using SonarCloud.io
- Adds different libs/packages to enhance the application quality and performance.
- Version 1.0.0
- It is proposed to use Serverless to design a single service containing multiple AWS lambda functions to cover each feature.
- The deployment will be done using Bitbucket-Pipelines
- Distributes the whole development into Issues
- Go through the Bitbucket Issues Page
-
Stage: Dev
-
Stage: Prod
To set-up the project locally you need to clone this repo, from master
or develop
branch or some latest TAG
- Activate Virtual Environment
venv/bin/activate
- Install dependencies
pip install -r requirements.txt
- Run
nosetests -sv --with-xunit --xunit-file=nosetests.xml --with-xcoverage --xcoverage-file=coverage.xml --cover-package=src --cover-branches
to see the unit test execution report - Local lambda invoke
sls invoke local -f factorialV1 -p .test_events/factorial.json
- Deploy changes directly from local:
sls deploy
- See
requirements.txt
- serverless
- venv
- sonar-scanner
- No auth is used for this version, though we can do it using authorizer on API Gateway level
- Another possible way is to use JWT
- Access the code analysis report: SonarCloud
- A git repository
- A postman collection: https://www.postman.com/collections/f05ea1a1669f862add44
- AWS Dashboard is created
- Several widgets are created to show the performance of API's and Lambdas
- Forks are always appreciated