Skip to content

Commit

Permalink
Merge pull request #3 from werebear73/development
Browse files Browse the repository at this point in the history
Pull the Business Requirements from Development into Main
  • Loading branch information
werebear73 authored Jan 19, 2025
2 parents 55f71b0 + f6cbdc7 commit 857dd1e
Show file tree
Hide file tree
Showing 70 changed files with 3,427 additions and 4 deletions.
30 changes: 30 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/azds.yaml
**/bin
**/charts
**/docker-compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md
!**/.gitignore
!.git/HEAD
!.git/config
!.git/packed-refs
!.git/refs/heads/**
29 changes: 29 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: ci
on:
push:
branches:
- master
- main
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -395,4 +395,15 @@ FodyWeavers.xsd
*.msp

# JetBrains Rider
*.sln.iml
*.sln.iml

# DrawIO temporary files
*.dtmp
*.bkp

# Python Virtual Enviroment - used for MKDOCs
.venv

# LaunchSetting.json to protect sensitive information
**/launchSettings.json
launchSettings.json
153 changes: 153 additions & 0 deletions BoxContains.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35219.272
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{E4D23527-A7AB-42CC-AC70-1BF04361125C}"
ProjectSection(SolutionItems) = preProject
docs\index.md = docs\index.md
docs\stylesheets\tables.css = docs\stylesheets\tables.css
docs\versions.md = docs\versions.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "requirements", "requirements", "{82938942-04A5-4764-A0A6-9A6D8D93566B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "v1.0", "v1.0", "{DB51C948-5AB6-4E31-9B7B-D0CD3FE13C44}"
ProjectSection(SolutionItems) = preProject
docs\requirements\v1.0\business_requirements.md = docs\requirements\v1.0\business_requirements.md
docs\requirements\v1.0\context_level_dataflow_diagram.drawio = docs\requirements\v1.0\context_level_dataflow_diagram.drawio
docs\requirements\v1.0\context_level_dataflow_diagram.svg = docs\requirements\v1.0\context_level_dataflow_diagram.svg
docs\requirements\v1.0\entity_relationship_diagram.drawio = docs\requirements\v1.0\entity_relationship_diagram.drawio
docs\requirements\v1.0\entity_relationship_diagram.svg = docs\requirements\v1.0\entity_relationship_diagram.svg
docs\requirements\v1.0\functional_requirements.md = docs\requirements\v1.0\functional_requirements.md
docs\requirements\v1.0\process_decomposition_diagram.drawio = docs\requirements\v1.0\process_decomposition_diagram.drawio
docs\requirements\v1.0\process_decomposition_diagram.svg = docs\requirements\v1.0\process_decomposition_diagram.svg
docs\requirements\v1.0\scope.md = docs\requirements\v1.0\scope.md
docs\requirements\v1.0\use_case_diagram.drawio = docs\requirements\v1.0\use_case_diagram.drawio
docs\requirements\v1.0\use_case_diagram.svg = docs\requirements\v1.0\use_case_diagram.svg
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{70A2338D-9D5A-4DB6-AD9E-DD6AE4B14E6A}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
LICENSE = LICENSE
mkdocs.yml = mkdocs.yml
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D9AB8F32-923D-4987-ABD8-B2F54E50644F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BoxContains.Category", "BoxContains.Category", "{4DEBF082-4774-4B30-ABBB-1B3993E00B1D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{84B56482-F18D-418F-AB18-6C657BA69206}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "core", "core", "{DC5CFBB4-E9B5-4E65-873E-FB8571514CC4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.Domain", "src\BoxContains.Category\src\core\BoxContains.Category.Domain\BoxContains.Category.Domain.csproj", "{15D59C5E-E361-46A1-8421-5E0CEFC32BBA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "infrastructure", "infrastructure", "{E29ED93B-7F89-4EB3-B26B-DE91B47F6EB2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.Persistence", "src\BoxContains.Category\src\infrastucture\BoxContains.Category.Persistence\BoxContains.Category.Persistence.csproj", "{CFBEAF75-D547-4CD3-A60A-0515930721FA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.Application", "src\BoxContains.Category\src\core\BoxContains.Category.Application\BoxContains.Category.Application.csproj", "{D51D3122-E2E9-40AB-855A-60E158E55F56}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7095DAF5-AE01-4CE8-9469-41AE9EA5D869}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.UnitTests", "tests\BoxContains.Category.UnitTests\BoxContains.Category.UnitTests.csproj", "{43A3916F-8543-4846-9ED4-C46F36935BF0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "interface", "interface", "{622D6352-01C5-4B62-A211-759E65990247}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.IntegrationTests", "tests\BoxContains.Category.IntegrationTests\BoxContains.Category.IntegrationTests.csproj", "{97965502-A55A-455B-8812-33891FE638B3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Category.Docker", "src\BoxContains.Category\src\interfaces\BoxContains.Category.Docker\BoxContains.Category.Docker.csproj", "{42289CC8-9112-40EC-8AAD-2973C1075FDE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Interface.Shared", "BoxContains.Interface.Shared\BoxContains.Interface.Shared.csproj", "{3191740B-CBCE-47AB-AE11-42A807AEA711}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BoxContains.Interface.Web", "BoxContains.Interface.Web\BoxContains.Interface.Web.csproj", "{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "assets", "assets", "{51FAD0FF-C6A8-4359-821F-D8F68E4A2BD5}"
ProjectSection(SolutionItems) = preProject
docs\assets\favicon-32x32.png = docs\assets\favicon-32x32.png
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "stylesheets", "stylesheets", "{16F9D0C9-F36F-47A1-81C9-F7E7FC4D59D8}"
ProjectSection(SolutionItems) = preProject
docs\stylesheets\tables.css = docs\stylesheets\tables.css
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{F19A68FD-B8C2-4B31-B068-280A67CFF629}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{10E38034-7CDB-4986-ABDA-2B087CAF7555}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{3C867764-E421-4262-9D91-FE144FB0D1DB}"
ProjectSection(SolutionItems) = preProject
.github\workflows\docs.yml = .github\workflows\docs.yml
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{15D59C5E-E361-46A1-8421-5E0CEFC32BBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15D59C5E-E361-46A1-8421-5E0CEFC32BBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15D59C5E-E361-46A1-8421-5E0CEFC32BBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15D59C5E-E361-46A1-8421-5E0CEFC32BBA}.Release|Any CPU.Build.0 = Release|Any CPU
{CFBEAF75-D547-4CD3-A60A-0515930721FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFBEAF75-D547-4CD3-A60A-0515930721FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFBEAF75-D547-4CD3-A60A-0515930721FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CFBEAF75-D547-4CD3-A60A-0515930721FA}.Release|Any CPU.Build.0 = Release|Any CPU
{D51D3122-E2E9-40AB-855A-60E158E55F56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D51D3122-E2E9-40AB-855A-60E158E55F56}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D51D3122-E2E9-40AB-855A-60E158E55F56}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D51D3122-E2E9-40AB-855A-60E158E55F56}.Release|Any CPU.Build.0 = Release|Any CPU
{43A3916F-8543-4846-9ED4-C46F36935BF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{43A3916F-8543-4846-9ED4-C46F36935BF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{43A3916F-8543-4846-9ED4-C46F36935BF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{43A3916F-8543-4846-9ED4-C46F36935BF0}.Release|Any CPU.Build.0 = Release|Any CPU
{97965502-A55A-455B-8812-33891FE638B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97965502-A55A-455B-8812-33891FE638B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97965502-A55A-455B-8812-33891FE638B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97965502-A55A-455B-8812-33891FE638B3}.Release|Any CPU.Build.0 = Release|Any CPU
{42289CC8-9112-40EC-8AAD-2973C1075FDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42289CC8-9112-40EC-8AAD-2973C1075FDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42289CC8-9112-40EC-8AAD-2973C1075FDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42289CC8-9112-40EC-8AAD-2973C1075FDE}.Release|Any CPU.Build.0 = Release|Any CPU
{3191740B-CBCE-47AB-AE11-42A807AEA711}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3191740B-CBCE-47AB-AE11-42A807AEA711}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3191740B-CBCE-47AB-AE11-42A807AEA711}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3191740B-CBCE-47AB-AE11-42A807AEA711}.Release|Any CPU.Build.0 = Release|Any CPU
{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{82938942-04A5-4764-A0A6-9A6D8D93566B} = {E4D23527-A7AB-42CC-AC70-1BF04361125C}
{DB51C948-5AB6-4E31-9B7B-D0CD3FE13C44} = {82938942-04A5-4764-A0A6-9A6D8D93566B}
{4DEBF082-4774-4B30-ABBB-1B3993E00B1D} = {D9AB8F32-923D-4987-ABD8-B2F54E50644F}
{84B56482-F18D-418F-AB18-6C657BA69206} = {4DEBF082-4774-4B30-ABBB-1B3993E00B1D}
{DC5CFBB4-E9B5-4E65-873E-FB8571514CC4} = {84B56482-F18D-418F-AB18-6C657BA69206}
{15D59C5E-E361-46A1-8421-5E0CEFC32BBA} = {DC5CFBB4-E9B5-4E65-873E-FB8571514CC4}
{E29ED93B-7F89-4EB3-B26B-DE91B47F6EB2} = {84B56482-F18D-418F-AB18-6C657BA69206}
{CFBEAF75-D547-4CD3-A60A-0515930721FA} = {E29ED93B-7F89-4EB3-B26B-DE91B47F6EB2}
{D51D3122-E2E9-40AB-855A-60E158E55F56} = {DC5CFBB4-E9B5-4E65-873E-FB8571514CC4}
{43A3916F-8543-4846-9ED4-C46F36935BF0} = {7095DAF5-AE01-4CE8-9469-41AE9EA5D869}
{622D6352-01C5-4B62-A211-759E65990247} = {84B56482-F18D-418F-AB18-6C657BA69206}
{97965502-A55A-455B-8812-33891FE638B3} = {7095DAF5-AE01-4CE8-9469-41AE9EA5D869}
{42289CC8-9112-40EC-8AAD-2973C1075FDE} = {622D6352-01C5-4B62-A211-759E65990247}
{3191740B-CBCE-47AB-AE11-42A807AEA711} = {622D6352-01C5-4B62-A211-759E65990247}
{0BCC6F6D-7C6C-45D1-AA8A-D35C3B6DE6F1} = {622D6352-01C5-4B62-A211-759E65990247}
{51FAD0FF-C6A8-4359-821F-D8F68E4A2BD5} = {E4D23527-A7AB-42CC-AC70-1BF04361125C}
{16F9D0C9-F36F-47A1-81C9-F7E7FC4D59D8} = {E4D23527-A7AB-42CC-AC70-1BF04361125C}
{F19A68FD-B8C2-4B31-B068-280A67CFF629} = {4DEBF082-4774-4B30-ABBB-1B3993E00B1D}
{3C867764-E421-4262-9D91-FE144FB0D1DB} = {10E38034-7CDB-4986-ABDA-2B087CAF7555}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5663B815-F037-4462-9822-97BF6477EF1B}
EndGlobalSection
EndGlobal
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,36 @@ This project is tracking the contains of storage boxes to easily identify where
This project follows the following folder structure:
```
- docs: Contains documentation about the project
- requirements: Contains the project requirements by version. Inside the version folder, you will find the scope, business requirement, functional requirement, and any other associated figures (source and image).
- src: Contains the source code of the project
- core: Contains Application and Domain Layers of the Project
- infrastructure: Contains the Infrastructure Layers of the Project
- interfaces: Contains the Interface Layers of the Project
- BoxContains.Category: All the projects associated with the Category (See Notes #1)
- src
- core: Contains Application and Domain Layers of the Project
- BoxContains.Category.Application
- BoxContains.Category.Domain
- infrastructure: Contains the Infrastructure Layers of the Project
- BoxContains.Category.Persistence
- interfaces: Contains the Interface Layers of the Project
- tests: Contains the test plans for the project
- tests: Contains the test plans for the project
Root Folder contains the README, License, Solution File, and any other files required to be there.
```
## Notes
1. I don't normally embed projects this but I wanted the entire in a single Git Repository so src has this additional layer

## Documentation MKDOCS

Install MKDOCS and dependencies
``` bash
pip install mkdocs
pip install mkdocs-material
pip install mkdocs-minify-plugin
pip install mkdocs-monorepo-plugin
pip install mkdocs-awesome-pages
```

Serve MKDOCS on port 8000
``` bash
python -m mkdocs serve
```
Binary file added docs/assets/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# BoxContains

This project is tracking the contains of storage boxes to easily identify where you stored items.

## Folder Structure
This project follows the following folder structure:
```
- docs: Contains documentation about the project
- requirements: Contains the project requirements by version. Inside the version folder, you will find the scope, business requirement, functional requirement, and any other associated figures (source and image).
- assets: Assets for MKDOCS
- stylesheets: Stylesheets for MKDOCS
- src: Contains the source code of the project
- BoxContains.Category: All the projects associated with the Category (See Notes #1)
- src
- core: Contains Application and Domain Layers of the Project
- BoxContains.Category.Application
- BoxContains.Category.Domain
- infrastructure: Contains the Infrastructure Layers of the Project
- BoxContains.Category.Persistence
- interfaces: Contains the Interface Layers of the Project
- tests: Contains the test plans for the project
- tests: Contains the test plans for the project
Root Folder contains the README, License, Solution File, and any other files required to be there.
```

## API Microservices

### Build Category API
``` bash
docker build -t box-contains-category_api:dev -f .\src\BoxContains.Category\src\interfaces\BoxContains.Category.Docker\Dockerfile .
```

### Launch Category API
``` bash
docker run -p 8080:8080 --name=box-contains-category_api_dev_ box-contains-category_api:dev
```

## Notes
1. I don't normally embed projects this but I wanted the entire in a single Git Repository so src has this additional layer

Loading

0 comments on commit 857dd1e

Please sign in to comment.