Skip to content

W2Inc/NXTApp

Repository files navigation

NXTApp

NXTApp is an open-source peer-to-peer education platform designed as a monorepo to manage various components of the application. The repository contains multiple services, primarily written in C#, alongside modern frontend technologies like Svelte and TypeScript.

image

Repository Structure

  • Backend: Contains the backend services for the application, written in C#.

    • NXTBackend.API: Main API service.
    • NXTBackend.API.Core: Core business logic and reusable utilities.
    • NXTBackend.API.Models: Data models used across services.
    • NXTBackend.API.Infrastructure: Database and external service interactions.
    • NXTBackend.API.Domain: Domain-specific definitions.
    • NXTBackend.API.Tests: Unit tests for backend services.
  • Frontend: Built using Svelte and TypeScript.

  • Docker: Configuration for containerizing the application.

Prerequisites

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/W2Inc/NXTApp.git
    cd NXTApp
  2. Set up required services:

    • Install and configure PostgreSQL.
    • Set up Keycloak for authentication and authorization.
    • Set up a Gitea (or Forgejo) as the backend relies on it's API
  3. Configure environment variables:

    • Refer to environment variable settings in individual project READMEs.
  4. Run the application:

    dotnet build
    dotnet run --project backend/NXTBackend.API/NXTBackend.API.csproj
  5. Access the application at http://localhost:5000.

Git Server

There are various solutions to setting up a git server but in our case we simply use

Contributing

Contributions are welcome! Please see our CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Open source peer to peer education monorepo (WIP)

Resources

License

Stars

Watchers

Forks