/a-cove-depreciated

source code for almondcove.in (WIP) .net core | custom auth attributes | ado.net

Primary LanguageC#

.NET Project Structure

This repository contains the source code for a community website project made with .NET/Typescript, organized with modular design principles for better maintainability and scalability. The project includes modules, services, interfaces, middlewares, and extensions.

Project Structure

C#/.NET:

  • src: Contains all .NET source files.

  • Module Classes: Helper classes with specific functions that dont need a separate service representation.

  • Services: Directory for common services used across multiple modules.

  • Controllers :

    • Routers : Handle routing and prerendering of contents
    • Api : Api controllers for lazy loading & data fetching
  • Interfaces: Directory for defining interfaces, promoting abstraction and separation of concerns.

  • Middlewares: Directory for custom middlewares used in the project.

  • Extensions: Directory for extension methods or service collection extensions.

  • Repositories : Data access methods.

  • Filters : Action filters for permission management.

Typescript

  • global.ts : Contains global accessible functions imported by submodules
  • dedicated modules : Page specific modules to carry around dedicated operations
  • interfaces : interfaces to define the shape of incoming DTOs

Configuration and Startup

  • appsettings.json: Configuration file containing application settings, connection strings, etc.
  • tsconfig.json: TypeScript configuration file.
  • Program.cs : Main entry point for configuring services, middleware, and the application pipeline.
  • Migrations : SQL files for migrating db schema

Project File

  • project.csproj: The .NET project file specifying dependencies, references, and other project-related configurations.

Tech stack used

Languages & framework

TypeScript Javascript C# C#

.NET VuE JS NPM

Build & Tooling

SWC NPM

Package Manager

NUGET

Database

NUGET