Skip to content

Reis-A/edulution-ui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edulution UI

Node React NestJS NX Monorepo License Community Forum

Development

Description

A Full Stack Application build with Vite+React (frontend) and Nest.js for the API. NX is used to organise the monorepo.

Tech-Stack

Maintenance Details

Linuxmuster.net official ✅ YES
Community support ✅ YES
Actively developed ✅ YES

Getting Started

Prerequisites

  • Node.js 20 LTS
  • Running MongoDB
  • Running Redis

Public Key

Read the public key and certificate from oidc provider (Keycloak >> realm settings >> keys). Then add edulution.pem file to the project root. Insert the key/cert as follwed:

-----BEGIN CERTIFICATE-----
<CERTIFICATE CONTENT>
-----END CERTIFICATE-----
-----BEGIN PUBLIC KEY-----
<PUBLIC KEY CONTENT>
-----END PUBLIC KEY----

Installation

  1. Install dependencies:

    npm install
  2. Place a .env file in apps/api and a .env.development file in apps/frontend (.env.default as template)

  3. Setup redis and mongoDB via docker-compose.yml

    docker compose pull
    docker compose up -d
  4. Start API

    npm run api

    The API will be served on http://localhost:3001/

  5. Start Frontend

    npm run dev

    The frontend will be served on http://localhost:5173/

  6. Production build

    npm run build:all

Documentation

Build

Build local

npm run build:all && \
docker build -t ghcr.io/edulution-io/edulution-ui -f apps/frontend/Dockerfile . && \
docker build -t ghcr.io/edulution-io/edulution-api -f apps/api/Dockerfile . && \
docker compose up -d

Deploy

Visit https://get.edulution.io to get the deployment script. Or copy:

bash <(curl -s https://get.edulution.io/installer)

OnlyOffice in development

  1. Start the OnlyOffice container from the settings (http://localhost:5173/settings/filesharing), make sure the port 8088 is available.

  2. Enter the Only Office Integration values in the settings (http://localhost:5173/settings/filesharing):

  • OnlyOffice-URL: http://host.docker.internal:8088/
  • OnlyOffice JWT Secret: <your-secret
  1. On some systems host.docker.internal is not natively available without additional configuration. How to set up in Linux:
  • Find the host machine's IP address
    ip addr show docker0
  • Add the mapping to /etc/hosts
    sudo nano /etc/hosts
  • Add the following line (replace the IP with the actual one)
    172.17.0.1 host.docker.internal
  • You are done. Test it with
    wget http://host.docker.internal:5173

About

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.4%
  • CSS 1.2%
  • SCSS 0.2%
  • HTML 0.1%
  • JavaScript 0.1%
  • Shell 0.0%