A production-ready MonoRepo project with C# .NET 9 backend and SvelteKit frontend implementing a comprehensive comments CRUD system with polymorphic relationships.
csharp_sveltekit_commentable_project/
├── apps/
│ ├── api/ # C# .NET 9 REST API with Swagger/OpenAPI
│ └── web/ # SvelteKit 2.48.4 Frontend
├── packages/
│ ├── shared-enums/ # Shared TypeScript/C# enums
│ ├── shared-types/ # Shared TypeScript types
│ └── shared-constants/ # Shared constants
└── docs/ # Project documentation & diagrams
http://localhost:5043/api/swaggerhttp://localhost:5173 (or 5174)http://localhost:5043/api/v1/healthhttp://localhost:5043/api/v1/Example/reaction-typesClone the repository
git clone <repository-url>
cd csharp_nextjs_commentable_project
Install dependencies
npm install
Set up environment variables
# Copy example env files
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env
Run database migrations
cd apps/api
dotnet ef database update
Start development servers ```bash
npm run dev
npm run api:dev # API only npm run web:dev # Web only
## Development
### Available Scripts
- `npm run dev` - Start all services in development mode
- `npm run build` - Build all applications
- `npm run test` - Run all tests
- `npm run lint` - Lint all code
- `npm run format` - Format code with Prettier
- `npm run clean` - Clean all build artifacts
### Project Structure Details
See individual README files in each directory:
- [API Documentation](./apps/api/README.md)
- [Web Documentation](./apps/web/README.md)
- [Architecture Documentation](./docs/README.md)
## Database Schema
See [Entity Relationship Diagram](./docs/erd.md) for detailed database structure.
## Best Practices Implemented
- **SOLID Principles**: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion
- **Design Patterns**: Repository, Unit of Work, Factory, Strategy, Dependency Injection
- **Performance**: Caching layers, query optimization, N+1 prevention, pagination
- **Code Quality**: No code smells, proper separation of concerns, comprehensive documentation
- **Type Safety**: Shared enums and types between frontend and backend
- **Scalability**: Queue system for async operations, distributed caching
## Contributing
Follow conventional commits format for all commit messages.
## License
MIT License