Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2caca35
Update appveyor.yml
EduardoPires Mar 22, 2022
a631fe6
Updating to .NET 6 (#188)
EduardoPires Mar 22, 2022
bf69e6c
Update Dockerfile
EduardoPires Mar 22, 2022
ca9b2eb
Update Dockerfile
EduardoPires Mar 22, 2022
4c348d6
Update README.md
EduardoPires Mar 22, 2022
dcbe058
.net 8 migration and refactorings (#201)
EduardoPires Jul 31, 2024
89febfa
Update README.md
EduardoPires Jul 31, 2024
6d55bf0
Architecture Testing
EduardoPires Aug 1, 2024
e83638c
Improvements
EduardoPires Aug 2, 2024
79cf3a6
Merge pull request #204 from EduardoPires/architecture-tests
EduardoPires Apr 8, 2025
0a82577
fix: automatic migrations
EduardoPires Apr 8, 2025
048dbe1
Merge pull request #205 from EduardoPires/update-net9
EduardoPires Apr 8, 2025
0cf85d9
replacing mediatR and automapper
EduardoPires Apr 8, 2025
149fe15
removing desnecessary files
EduardoPires Apr 10, 2025
22890b2
Merge pull request #206 from EduardoPires/mediatr-and-automapper
EduardoPires Apr 10, 2025
b3cde70
.net 9 ajusts
EduardoPires Apr 10, 2025
4d1f0e5
Merge pull request #207 from EduardoPires/pipeline-ajusts
EduardoPires Apr 10, 2025
070ff09
Update README.md
EduardoPires Apr 14, 2025
1c23249
Update README.md
EduardoPires Apr 14, 2025
4470fee
fix: correct IsAuthenticated method name
EduardoPires May 19, 2025
c67de07
Merge pull request #209 from EduardoPires/codex/corrigir-nome-do-m-to…
EduardoPires May 19, 2025
10d9078
Update setup guide to English
EduardoPires May 19, 2025
9cc2abd
Merge pull request #210 from EduardoPires/codex/adicionar-agents-md-c…
EduardoPires May 19, 2025
9fd3b06
Delete CONTRIBUTING.md
EduardoPires May 19, 2025
f04b9a8
Delete appveyor.yml
EduardoPires May 19, 2025
c0f5d5e
Delete CODE_OF_CONDUCT.md
EduardoPires May 19, 2025
fde9a95
Update AGENTS.md
EduardoPires May 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Remove unused using directives
dotnet_diagnostic.CS8019.severity = error

# Unused variables
dotnet_diagnostic.IDE0059.severity = error

# Unused expressions (e.g., method call with no effect)
dotnet_diagnostic.IDE0058.severity = error

# Parameter is never used
dotnet_diagnostic.IDE0060.severity = warning
2 changes: 1 addition & 1 deletion .github/workflows/dotnet-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.202
dotnet-version: 9.0.x
- name: Install dependencies
run: dotnet restore
- name: Build
Expand Down
61 changes: 61 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# AGENTS Setup Guide

This repository requires specific environment configuration to build and run .NET 9.0 projects. **All dependencies must be installed during the setup script phase,** especially in restricted environments (e.g., OpenAI Codex).

## Setup Steps (`setup.sh`)

1. **Update and upgrade the system:**

`apt-get update && apt-get upgrade -y`

2. **Install essential dependencies (`wget`, `apt-transport-https`, `ca-certificates`):**

`apt-get install -y wget apt-transport-https ca-certificates`

3. **Configure Microsoft package source and update package lists:**

`wget https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb`

`dpkg -i packages-microsoft-prod.deb`

`rm packages-microsoft-prod.deb`

`apt-get update`

4. **Install .NET SDK 9.0:**

`apt-get install -y dotnet-sdk-9.0`

5. **Verify installation:**

`dotnet --version`

6. **(Optional) Remove obsolete packages:**

`apt-get autoremove -y`


---

## ⚠️ Notes for Codex and Similar Cloud Environments

- **Internet access is only available during the setup script phase.** All dependencies must be installed in this initial script.
- **A network proxy is always active:** Standard environment variables like `http_proxy`, `https_proxy`, and the proxy certificate (`$CODEX_PROXY_CERT`) are automatically set. These should be respected by all package managers and CLI tools.
- **If you encounter connectivity issues:**
- Ensure your setup script is running during the setup/initialization phase (not in the regular terminal).
- Check that all required dependencies are installed up front.
- Make sure environment variables for the proxy/certificate are being used by your tools.

---

## General Recommendations

- Use the latest version of **Visual Studio** or **Visual Studio Code** for development.
- Always install the correct SDK and runtime versions as required by this project.
- The project can be built and run in Visual Studio Code on Windows, Linux, or macOS.

---

**IMPORTANT:**

If using a cloud development platform or automated environment, ensure all tools and dependencies are installed during the setup script phase. No additional internet access will be available after environment initialization. Plan accordingly.
76 changes: 0 additions & 76 deletions CODE_OF_CONDUCT.md

This file was deleted.

1 change: 0 additions & 1 deletion CONTRIBUTING.md

This file was deleted.

31 changes: 20 additions & 11 deletions Equinox.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31025.218
# Visual Studio Version 17
VisualStudioVersion = 17.9.34622.214
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1 - Presentation", "1 - Presentation", "{BA4C44CC-65BC-4CE0-9B44-68BA231FAC73}"
EndProject
Expand All @@ -17,23 +17,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5.1 - Data", "5.1 - Data",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5.2 - CrossCutting", "5.2 - CrossCutting", "{DF6C4BDE-F3C5-4E53-A5D5-9D27B2D3E38F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.UI.Web", "src\Equinox.UI.Web\Equinox.UI.Web.csproj", "{490517BA-F3C3-44B4-82F8-1E3A4ED6777A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.UI.Web", "src\Equinox.UI.Web\Equinox.UI.Web.csproj", "{490517BA-F3C3-44B4-82F8-1E3A4ED6777A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Services.Api", "src\Equinox.Services.Api\Equinox.Services.Api.csproj", "{EA966EC3-85A6-4B57-82C1-5120E3390243}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Services.Api", "src\Equinox.Services.Api\Equinox.Services.Api.csproj", "{EA966EC3-85A6-4B57-82C1-5120E3390243}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Application", "src\Equinox.Application\Equinox.Application.csproj", "{851E7338-2397-4E8D-8199-FD1EAD109418}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Application", "src\Equinox.Application\Equinox.Application.csproj", "{851E7338-2397-4E8D-8199-FD1EAD109418}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Domain", "src\Equinox.Domain\Equinox.Domain.csproj", "{BF28C988-9C1B-41F5-BD58-D2FCAD7E80BA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Domain", "src\Equinox.Domain\Equinox.Domain.csproj", "{BF28C988-9C1B-41F5-BD58-D2FCAD7E80BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Domain.Core", "src\Equinox.Domain.Core\Equinox.Domain.Core.csproj", "{9CC884B7-FA70-49E1-92A6-2B566E00FAB9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Domain.Core", "src\Equinox.Domain.Core\Equinox.Domain.Core.csproj", "{9CC884B7-FA70-49E1-92A6-2B566E00FAB9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Infra.Data", "src\Equinox.Infra.Data\Equinox.Infra.Data.csproj", "{F0DDF87D-98A4-4237-91C9-FD865ED78ABB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Infra.Data", "src\Equinox.Infra.Data\Equinox.Infra.Data.csproj", "{F0DDF87D-98A4-4237-91C9-FD865ED78ABB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Infra.CrossCutting.Bus", "src\Equinox.Infra.CrossCutting.Bus\Equinox.Infra.CrossCutting.Bus.csproj", "{91F0D76D-2BEA-43D2-B123-DC29F2E87792}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Infra.CrossCutting.Bus", "src\Equinox.Infra.CrossCutting.Bus\Equinox.Infra.CrossCutting.Bus.csproj", "{91F0D76D-2BEA-43D2-B123-DC29F2E87792}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Infra.CrossCutting.Identity", "src\Equinox.Infra.CrossCutting.Identity\Equinox.Infra.CrossCutting.Identity.csproj", "{788030D0-561B-4136-96B4-D5ABFB5CFD07}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Infra.CrossCutting.Identity", "src\Equinox.Infra.CrossCutting.Identity\Equinox.Infra.CrossCutting.Identity.csproj", "{788030D0-561B-4136-96B4-D5ABFB5CFD07}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Infra.CrossCutting.IoC", "src\Equinox.Infra.CrossCutting.IoC\Equinox.Infra.CrossCutting.IoC.csproj", "{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Equinox.Infra.CrossCutting.IoC", "src\Equinox.Infra.CrossCutting.IoC\Equinox.Infra.CrossCutting.IoC.csproj", "{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "6 - Tests", "6 - Tests", "{7426F6BA-3DAD-411E-9956-3980D42DC36F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equinox.Tests.Architecture", "tests\Equinox.Tests.Architecture\Equinox.Tests.Architecture.csproj", "{C4036D98-A669-440C-9970-05DB45815949}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -77,6 +81,10 @@ Global
{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0}.Release|Any CPU.Build.0 = Release|Any CPU
{C4036D98-A669-440C-9970-05DB45815949}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4036D98-A669-440C-9970-05DB45815949}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4036D98-A669-440C-9970-05DB45815949}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4036D98-A669-440C-9970-05DB45815949}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -93,6 +101,7 @@ Global
{91F0D76D-2BEA-43D2-B123-DC29F2E87792} = {DF6C4BDE-F3C5-4E53-A5D5-9D27B2D3E38F}
{788030D0-561B-4136-96B4-D5ABFB5CFD07} = {DF6C4BDE-F3C5-4E53-A5D5-9D27B2D3E38F}
{B3000AD2-5EAA-49A2-8FC4-10DF329B15B0} = {DF6C4BDE-F3C5-4E53-A5D5-9D27B2D3E38F}
{C4036D98-A669-440C-9970-05DB45815949} = {7426F6BA-3DAD-411E-9956-3980D42DC36F}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4050E145-6791-440A-A2E5-75B05ACD4AFE}
Expand Down
43 changes: 27 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
<img src="https://www.eduardopires.net.br/imagens/EquinoxLogoPequenoFundoBranco.png" alt="Equinox Project">

<img src="https://github.com/user-attachments/assets/f078a9b9-bf99-48f6-a7a4-50403f33a4b0" alt="Equinox Project" width="45%">

What is the Equinox Project?
=====================
The Equinox Project is a open-source project written in .NET Core

The goal of this project is implement the most common used technologies and share with the technical community the best way to develop great applications with .NET

[![Build status](https://ci.appveyor.com/api/projects/status/rl2ja69994rt3ei6?svg=true)](https://ci.appveyor.com/project/EduardoPires/equinoxproject)
![.NET Core](https://github.com/EduardoPires/EquinoxProject/workflows/.NET%20Core/badge.svg)
[![License](https://img.shields.io/github/license/eduardopires/equinoxproject.svg)](LICENSE)
[![Issues open](https://img.shields.io/github/issues/eduardopires/equinoxproject.svg)](https://huboard.com/EduardoPires/EquinoxProject/)

Expand All @@ -19,8 +16,8 @@ If you liked the project or if Equinox helped you, please give a star ;)
Check my online courses at [desenvolvedor.io](https://desenvolvedor.io)

## How to use:
- You will need the latest Visual Studio 2019 and the latest .NET Core SDK.
- ***Please check if you have installed the same runtime version (SDK) described in global.json***
- You will need the latest version of Visual Studio and the latest .NET Core SDK.
- ***Please check if you have installed the runtime version***
- The latest SDK and tools can be downloaded from https://dot.net/core.

Also you can run the Equinox Project in Visual Studio Code (Windows, Linux or MacOS).
Expand All @@ -29,18 +26,16 @@ To know more about how to setup your enviroment visit the [Microsoft .NET Downlo

## Technologies implemented:

- ASP.NET 5.0 (with .NET Core 5.0)
- ASP.NET 9.0
- ASP.NET MVC Core
- ASP.NET WebApi Core with JWT Bearer Authentication
- ASP.NET Identity Core
- Entity Framework Core 5.0
- .NET Core Native DI
- AutoMapper
- Entity Framework Core 9.0
- Custom Automatic Mapping (no more AutoMapper)
- FluentValidator
- MediatR
- NetDevPack.SimpleMediator (no more MediatR)
- NetDevPack (DDD, CQRS, UOW and more)
- Swagger UI with JWT support
- .NET DevPack
- .NET DevPack.Identity

## Architecture:

Expand All @@ -56,6 +51,25 @@ To know more about how to setup your enviroment visit the [Microsoft .NET Downlo

## News

**v1.10 - 04/08/2025**
- Migrated to .NET 9.0
- Replaced MediatR with [NetDevPack.SimpleMediator](https://github.com/NetDevPack/SimpleMediator) for lighter and native CQRS handling
- Removed AutoMapper in favor of lightweight custom mapping extensions
- Architecture Tests with [NetArchTest.Rules](https://github.com/BenMorris/NetArchTest)
- Added built-in SQLite support with automatic EF Core migrations (just run and go — no setup required)
- Updated all dependencies to the latest stable versions


**v1.9 - 06/31/2024**
- Migrated for .NET 8.0
- Full refactoring of Web and Api configuration
- Now all ASP.NET Identity configurations are inside the project, without external dependencies
- All dependencies is up to date

**v1.8 - 03/22/2022**
- Migrated for .NET 6.0
- All dependencies is up to date

**v1.7 - 04/06/2021**
- Migrated for .NET 5.0
- All dependencies is up to date
Expand Down Expand Up @@ -97,9 +111,6 @@ To know more about how to setup your enviroment visit the [Microsoft .NET Downlo
- Beware to use in production way
- Maybe you don't need a lot of implementations that is included, try avoid the **over engineering**

## About the next versions
Watch our [RoadMap](https://github.com/EduardoPires/EquinoxProject/wiki/RoadMap) to know the new changes

## Pull-Requests
Make a contact! Don't submit PRs for extra features, all the new features are planned

Expand Down
14 changes: 0 additions & 14 deletions appveyor.yml

This file was deleted.

Loading