From 9353faa1c8bbbdc485ce7554d48c89de4d58745c Mon Sep 17 00:00:00 2001 From: Richard Peres Date: Fri, 1 Apr 2022 12:29:38 +0200 Subject: [PATCH] Initial commit project description, first architecture draft and small MVP roadmap --- .gitattributes | 2 ++ .gitignore | 5 +++++ LICENSE | 21 +++++++++++++++++++++ README.md | 16 ++++++++++++++++ architecture-diagrams/v0.1.png | Bin 0 -> 58137 bytes architecture.md | 6 ++++++ changelog.md | 5 +++++ 7 files changed, 55 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 architecture-diagrams/v0.1.png create mode 100644 architecture.md create mode 100644 changelog.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc38870 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# env +.env + +# IntelliJ +.idea/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..981c9d7 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Richard Peres + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7322782 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# AWS Knapsack Microservices Project +# Project Overview & Description +The goal of this project is to create a Proof Of Concept (PoC) using different AWS services for a Knapsack greedy problem implementation. +This implementation will follow an Microservices Event driven architecture to test simultaneously different types of algorithms implemented in different ways, languages and using different (AWS) technologies. +For more information on the architecture, please refer to [the architecture page](architecture.md) that list all the different iteration and evolution of the architectural and solution design. + +Finally, this project should be able to be used and reproduced following an 'Open/Closed Principle' ([OCP](https://stackify.com/solid-design-open-closed-principle/)) with ability to easily add more algorithms and take advantage of logs and analytics data generated. +It will also use modern CI/CD technologies (see the full list [below](#List-of-Technologies-&-services-used)) to automatically deploy, run and monitor each services/modules of the whole solution. + +# List of Technologies & services used +* TBD + +# RoadMap +[] Create a simple generator of knapsack problems (list of items + bag size) +[] Create a first simple MVP of a naive solver +[] TBD diff --git a/architecture-diagrams/v0.1.png b/architecture-diagrams/v0.1.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f20a7cfb976adca96600083463457e6e86d5fa GIT binary patch literal 58137 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�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