Skip to content

cppis/liteapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiteAPI

.NET 9.0 Tests License

ASP.NET Core 9.0 Minimal API 프로젝트로 모바일 웹 서버의 기본 기능을 제공합니다.




주요 기능

주요 기능 소개 문서를 참고하세요.




시작하기

필수 요구사항

  • .NET 9.0 SDK (9.0.112 이상)
  • MySQL 8.0 이상
  • (선택) Docker (컨테이너 배포 시)

실행 방법

# 1. 저장소 클론
cd /mnt/c/Works/git/liteapi

# 2. NuGet 패키지 복원
export PATH="$HOME/.dotnet:$PATH"
dotnet restore

# 3. 데이터베이스 마이그레이션
cd liteapi
dotnet ef database update

# 4. 개발 서버 실행
dotnet run

# 5. 브라우저에서 확인
# http://localhost:5117/health

테스트 실행

# 전체 테스트 실행
dotnet test

# 특정 프로젝트만 테스트
dotnet test liteapi.Tests/liteapi.Tests.csproj

# 상세 출력과 함께 테스트
dotnet test -v detailed




프로젝트 구조

liteapi/
├── liteapi/                      # 메인 API 프로젝트
│   ├── Data/                     # EF Core DbContext
│   ├── Formatters/               # MessagePack/JSON 포매터
│   ├── Middleware/               # 커스텀 미들웨어
│   ├── Models/                   # 도메인 모델
│   ├── Services/                 # 비즈니스 로직
│   ├── logs/                     # Serilog 로그 파일
│   ├── appsettings.yaml          # 기본 설정
│   ├── appsettings.Development.yaml  # 개발 환경 설정
│   └── Program.cs                # 진입점
├── liteapi.Tests/                # xUnit 테스트 프로젝트
│   ├── Models/                   # 모델 테스트
│   └── Services/                 # 서비스 테스트
├── .vscode/                      # VS Code 설정
│   ├── launch.json               # 디버그 구성
│   ├── tasks.json                # 빌드 태스크
│   └── settings.json             # 편집기 설정
├── liteapi.sln                   # 솔루션 파일
└── omnisharp.json                # OmniSharp 설정




기술 스택

카테고리 기술 버전
Runtime .NET 9.0.112+
Framework ASP.NET Core Minimal API 9.0
ORM Entity Framework Core 9.0.4
Database MySQL (Pomelo Provider) 9.0.0
Logging Serilog 10.0.0
Metrics prometheus-net 8.2.1
Serialization MessagePack 3.1.4
Testing xUnit + Moq + FluentAssertions 2.9.3
Configuration YAML 3.1.0

테스트 커버리지

모듈 테스트 수 상태
UserTests 8 ✅ 전체 통과
RequestContextTests 6 ✅ 전체 통과
MetricsServiceTests 16 ✅ 전체 통과
DbLockServiceTests 7 ✅ 2 통과 / 5 스킵 (MySQL 필요)
DbLockServiceIntegrationTests 16 🔶 통합 테스트
합계 53 48 통과 / 5 스킵

💡 스킵된 테스트는 실제 MySQL 데이터베이스가 필요한 통합 테스트입니다.




향후 개선 사항

  • Redis 분산 캐시 통합
  • JWT 인증 구현
  • Rate Limiting 미들웨어
  • GraphQL 엔드포인트 추가
  • Docker Compose 배포 자동화
  • CI/CD 파이프라인 (GitHub Actions)
  • Swagger UI 개선
  • gRPC 지원




라이센스

MIT License




기여

이슈 및 PR은 언제든 환영합니다!

About

lite asp.net core api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages