diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..cd967fc
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,25 @@
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/.idea
+**/*.*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
\ No newline at end of file
diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml
new file mode 100644
index 0000000..a5027bf
--- /dev/null
+++ b/.github/workflows/pipeline.yml
@@ -0,0 +1,31 @@
+name: Build and push to TdA
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check Out Repo
+ uses: actions/checkout@v3
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+
+ - name: Build and push multi-platform images
+ uses: docker/build-push-action@v3
+ with:
+ context: ./
+ tags: tda-dotnet:latest
+ outputs: type=docker,dest=/tmp/tda-dotnet.tar
+
+ - name: Upload to TdA
+ uses: Tour-de-App/upload-app@tda-24
+ with:
+ team_secret: ${{ secrets.TEAM_SECRET }}
+ image_name: tda-dotnet
+ image_path: /tmp/tda-dotnet.tar
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 8a30d25..0ea6f43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -396,3 +396,8 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
+
+bin
+obj
+.idea
+wwwroot\css\site.css
diff --git a/App.razor b/App.razor
new file mode 100644
index 0000000..853f78c
--- /dev/null
+++ b/App.razor
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Not found
+
+
Sorry, there's nothing at this address.
+
+
+
+
+
\ No newline at end of file
diff --git a/Controllers/TdaApiController.cs b/Controllers/TdaApiController.cs
new file mode 100644
index 0000000..660381d
--- /dev/null
+++ b/Controllers/TdaApiController.cs
@@ -0,0 +1,35 @@
+using Microsoft.AspNetCore.Mvc;
+
+namespace TeacherDigitalAgency.Controllers;
+
+[ApiController]
+[Route("/api")]
+public class TdaApiController: ControllerBase
+{
+ private readonly ILogger _logger;
+
+ public TdaApiController(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ [HttpGet(Name = "api")]
+ public Dictionary OnGet()
+ {
+ _logger.LogDebug("Base api endpoint called");
+ return new Dictionary
+ {
+ { "secret", "The cake is a lie" }
+ };
+ }
+
+ [HttpPost(Name = "api")]
+ public Dictionary OnPost()
+ {
+ _logger.LogDebug("Base api post endpoint called");
+ return new Dictionary
+ {
+ { "secret", "The cake is a lie" }
+ };
+ }
+}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..0b2c05f
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,22 @@
+FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
+WORKDIR /app
+EXPOSE 80
+EXPOSE 443
+
+FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["TeacherDigitalAgency.csproj", "./"]
+RUN dotnet restore "TeacherDigitalAgency.csproj"
+COPY . .
+WORKDIR "/src/"
+RUN dotnet build "TeacherDigitalAgency.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "TeacherDigitalAgency.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+FROM base AS final
+WORKDIR /
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "TeacherDigitalAgency.dll"]
diff --git a/MainLayout.razor b/MainLayout.razor
new file mode 100644
index 0000000..a5af348
--- /dev/null
+++ b/MainLayout.razor
@@ -0,0 +1,3 @@
+@inherits LayoutComponentBase
+
+ @Body
diff --git a/Pages/Index.razor b/Pages/Index.razor
new file mode 100644
index 0000000..28200ef
--- /dev/null
+++ b/Pages/Index.razor
@@ -0,0 +1,10 @@
+@page "/"
+
+Teacher Digital Agency
+
+
+
+ Hello TdA
+ Educating the Future. Teacher Digital Agency - Expanding the Horizons of Learning. Currently Under Construction, Return Soon to Change the Way You Learn!
+
+
+ An error has occurred. This application may no longer respond until reloaded.
+
+
+ An unhandled exception has occurred. See browser dev tools for details.
+
+ Reload
+ 🗙
+