Improved folder structures for better maintainability

This commit is contained in:
Dennis Postma 2024-07-21 20:20:06 +02:00
parent 88820178cf
commit 62b9b4ec5c
50 changed files with 24 additions and 29 deletions

View File

@ -2,7 +2,7 @@
FROM node:22.4.1-alpine
# Set the working directory in the container
WORKDIR /usr/src/app
WORKDIR /usr/src/
# Copy package.json and package-lock.json (if available)
COPY package*.json ./
@ -26,10 +26,10 @@ RUN npm run build
EXPOSE 80
# Create a shell script to run migrations and start the application
RUN echo '#!/bin/sh' > /usr/src/app/start.sh && \
echo 'npx prisma migrate deploy' >> /usr/src/app/start.sh && \
echo 'node dist/server.js' >> /usr/src/app/start.sh && \
chmod +x /usr/src/app/start.sh
RUN echo '#!/bin/sh' > /usr/src/start.sh && \
echo 'npx prisma migrate deploy' >> /usr/src/start.sh && \
echo 'node dist/server.js' >> /usr/src/start.sh && \
chmod +x /usr/src/start.sh
# Use the shell script as the entry point
CMD ["/usr/src/app/start.sh"]
CMD ["/usr/src/start.sh"]

View File

@ -1,5 +0,0 @@
version: '3'
services:
app:
volumes:
- ./persistent_data:/usr/src/app/public

View File

@ -1,5 +1,5 @@
import { Server } from "socket.io";
import ZoneManager from "../ZoneManager";
import ZoneManager from "../managers/ZoneManager";
type CommandInput = string[]

View File

@ -1,6 +1,6 @@
import { Server } from "socket.io";
import {TSocket} from "../utilities/Types";
import ZoneManager from "../ZoneManager";
import ZoneManager from "../managers/ZoneManager";
export default function (socket: TSocket, io: Server) {
socket.on('disconnect', (data: any) => {

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../utilities/Types";
import CharacterRepository from "../../repositories/CharacterRepository";
import ZoneManager from "../../ZoneManager";
import ZoneManager from "../../managers/ZoneManager";
type SocketResponseT = {
position_x: number,

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../utilities/Types";
import ZoneRepository from "../../repositories/ZoneRepository";
import ZoneManager from "../../ZoneManager";
import ZoneManager from "../../managers/ZoneManager";
import {Character, Zone} from "@prisma/client";
/**

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../utilities/Types";
import ZoneRepository from "../../repositories/ZoneRepository";
import ZoneManager from "../../ZoneManager";
import ZoneManager from "../../managers/ZoneManager";
import {Character, Zone} from "@prisma/client";
interface IPayload {

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../../utilities/Types";
import ZoneRepository from "../../../repositories/ZoneRepository";
import ZoneManager from "../../../ZoneManager";
import ZoneManager from "../../../managers/ZoneManager";
import {Character, Zone} from "@prisma/client";
interface IPayload {

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../../utilities/Types";
import ZoneRepository from "../../../repositories/ZoneRepository";
import ZoneManager from "../../../ZoneManager";
import ZoneManager from "../../../managers/ZoneManager";
import {Character, Zone} from "@prisma/client";
interface IPayload {

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io";
import {TSocket} from "../../../utilities/Types";
import ZoneRepository from "../../../repositories/ZoneRepository";
import ZoneManager from "../../../ZoneManager";
import ZoneManager from "../../../managers/ZoneManager";
import { Character, Zone, ZoneEventTile, ZoneObject } from '@prisma/client'
interface IPayload {

View File

@ -1,6 +1,6 @@
import {Character, Zone} from "@prisma/client";
import ZoneRepository from "./repositories/ZoneRepository";
import ZoneService from "./services/ZoneService";
import ZoneRepository from "../repositories/ZoneRepository";
import ZoneService from "../services/ZoneService";
type TLoadedZone = {
zone: Zone;

View File

@ -2,16 +2,16 @@ import fs from "fs";
import path from "path";
import express, {Application} from 'express';
import {createServer as httpServer} from 'http';
import {addHttpRoutes} from './app/utilities/Http';
import {addHttpRoutes} from './utilities/Http';
import cors from 'cors';
import {Server as SocketServer} from 'socket.io';
import {TSocket} from "./app/utilities/Types";
import config from './app/utilities/Config';
import prisma from './app/utilities/Prisma';
import ZoneManager from "./app/ZoneManager";
import UserManager from "./app/UserManager";
import {Authentication} from "./app/middleware/Authentication";
import CommandManager from "./app/CommandManager";
import {TSocket} from "./utilities/Types";
import config from './utilities/Config';
import prisma from './utilities/Prisma';
import ZoneManager from "./managers/ZoneManager";
import UserManager from "./managers/UserManager";
import {Authentication} from "./middleware/Authentication";
import CommandManager from "./managers/CommandManager";
import {Dirent} from "node:fs";
export class Server