Skip to content

Commit fdcee06

Browse files
Cursor Agentdev-k99
andcommitted
feat: Implement ECommerce platform with .NET 8
Co-authored-by: kwanelerh069 <kwanelerh069@gmail.com>
1 parent 73f2ce9 commit fdcee06

761 files changed

Lines changed: 122104 additions & 349 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches: [ "**" ]
6+
pull_request:
7+
branches: [ "**" ]
8+
9+
jobs:
10+
build-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Setup .NET
15+
uses: actions/setup-dotnet@v4
16+
with:
17+
dotnet-version: '8.0.x'
18+
- name: Restore
19+
run: dotnet restore ECommerce.sln
20+
- name: Build
21+
run: dotnet build ECommerce.sln --configuration Release --no-restore
22+
- name: Test
23+
run: dotnet test ECommerce.sln --no-build --verbosity normal
24+
- name: Publish API
25+
run: dotnet publish src/ECommerce.Api/ECommerce.Api.csproj -c Release -o out
26+
- name: Upload artifact
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: api-build
30+
path: out

Dockerfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Multi-stage build for API + Web (Razor)
2+
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
3+
WORKDIR /app
4+
EXPOSE 8080
5+
6+
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
7+
WORKDIR /src
8+
COPY ./ECommerce.sln ./
9+
COPY ./src/ECommerce.Api/ECommerce.Api.csproj ./src/ECommerce.Api/
10+
COPY ./src/ECommerce.Web/ECommerce.Web.csproj ./src/ECommerce.Web/
11+
COPY ./src/ECommerce.Core/ECommerce.Core.csproj ./src/ECommerce.Core/
12+
COPY ./src/ECommerce.Infrastructure/ECommerce.Infrastructure.csproj ./src/ECommerce.Infrastructure/
13+
RUN dotnet restore ECommerce.sln
14+
COPY . .
15+
RUN dotnet publish src/ECommerce.Api/ECommerce.Api.csproj -c Release -o /app/publish
16+
17+
FROM base AS final
18+
WORKDIR /app
19+
COPY --from=build /app/publish .
20+
ENV ASPNETCORE_URLS=http://+:8080
21+
ENTRYPOINT ["dotnet", "ECommerce.Api.dll"]

ECommerce.sln

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.0.31903.59
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{1602E144-49D4-4B71-B61F-B7CD0B43A413}"
7+
EndProject
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerce.Api", "src\ECommerce.Api\ECommerce.Api.csproj", "{AC6C6573-69B2-4DAA-806B-751A42D93A8B}"
9+
EndProject
10+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerce.Core", "src\ECommerce.Core\ECommerce.Core.csproj", "{0843D28D-1164-462A-A765-EF3226B3ACDB}"
11+
EndProject
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerce.Infrastructure", "src\ECommerce.Infrastructure\ECommerce.Infrastructure.csproj", "{D1979C98-C8B2-4A73-88B7-201492B44AE2}"
13+
EndProject
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerce.Web", "src\ECommerce.Web\ECommerce.Web.csproj", "{4797D4BB-8D71-433F-B9C6-C36267FE75B4}"
15+
EndProject
16+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{C339F3F6-E5EF-4BCF-AEF7-91BC3972062C}"
17+
EndProject
18+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerce.Tests", "tests\ECommerce.Tests\ECommerce.Tests.csproj", "{7C08AF85-1FA7-4837-88B3-FE939F39B253}"
19+
EndProject
20+
Global
21+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
22+
Debug|Any CPU = Debug|Any CPU
23+
Release|Any CPU = Release|Any CPU
24+
EndGlobalSection
25+
GlobalSection(SolutionProperties) = preSolution
26+
HideSolutionNode = FALSE
27+
EndGlobalSection
28+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
29+
{AC6C6573-69B2-4DAA-806B-751A42D93A8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
30+
{AC6C6573-69B2-4DAA-806B-751A42D93A8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
31+
{AC6C6573-69B2-4DAA-806B-751A42D93A8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
32+
{AC6C6573-69B2-4DAA-806B-751A42D93A8B}.Release|Any CPU.Build.0 = Release|Any CPU
33+
{0843D28D-1164-462A-A765-EF3226B3ACDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
34+
{0843D28D-1164-462A-A765-EF3226B3ACDB}.Debug|Any CPU.Build.0 = Debug|Any CPU
35+
{0843D28D-1164-462A-A765-EF3226B3ACDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
36+
{0843D28D-1164-462A-A765-EF3226B3ACDB}.Release|Any CPU.Build.0 = Release|Any CPU
37+
{D1979C98-C8B2-4A73-88B7-201492B44AE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
38+
{D1979C98-C8B2-4A73-88B7-201492B44AE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
39+
{D1979C98-C8B2-4A73-88B7-201492B44AE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
40+
{D1979C98-C8B2-4A73-88B7-201492B44AE2}.Release|Any CPU.Build.0 = Release|Any CPU
41+
{4797D4BB-8D71-433F-B9C6-C36267FE75B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
42+
{4797D4BB-8D71-433F-B9C6-C36267FE75B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
43+
{4797D4BB-8D71-433F-B9C6-C36267FE75B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
44+
{4797D4BB-8D71-433F-B9C6-C36267FE75B4}.Release|Any CPU.Build.0 = Release|Any CPU
45+
{7C08AF85-1FA7-4837-88B3-FE939F39B253}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
46+
{7C08AF85-1FA7-4837-88B3-FE939F39B253}.Debug|Any CPU.Build.0 = Debug|Any CPU
47+
{7C08AF85-1FA7-4837-88B3-FE939F39B253}.Release|Any CPU.ActiveCfg = Release|Any CPU
48+
{7C08AF85-1FA7-4837-88B3-FE939F39B253}.Release|Any CPU.Build.0 = Release|Any CPU
49+
EndGlobalSection
50+
GlobalSection(NestedProjects) = preSolution
51+
{AC6C6573-69B2-4DAA-806B-751A42D93A8B} = {1602E144-49D4-4B71-B61F-B7CD0B43A413}
52+
{0843D28D-1164-462A-A765-EF3226B3ACDB} = {1602E144-49D4-4B71-B61F-B7CD0B43A413}
53+
{D1979C98-C8B2-4A73-88B7-201492B44AE2} = {1602E144-49D4-4B71-B61F-B7CD0B43A413}
54+
{4797D4BB-8D71-433F-B9C6-C36267FE75B4} = {1602E144-49D4-4B71-B61F-B7CD0B43A413}
55+
{7C08AF85-1FA7-4837-88B3-FE939F39B253} = {C339F3F6-E5EF-4BCF-AEF7-91BC3972062C}
56+
EndGlobalSection
57+
EndGlobal

0 commit comments

Comments
 (0)