From 3b6c8a142ac7dbcaa65a64b4043293381f515ea9 Mon Sep 17 00:00:00 2001 From: sperwing Date: Sat, 16 Nov 2024 23:44:14 +0100 Subject: [PATCH] Added layouting, dockerfiles --- back/Dockerfile | 9 ++ back/dist/app.js | 5 +- back/dist/app.js.map | 2 +- back/src/app.ts | 4 + front/Dockerfile | 4 + front/bahnui-front/src/components/routing.vue | 146 +++++++++++++++--- front/default.conf | 8 + 7 files changed, 158 insertions(+), 20 deletions(-) create mode 100644 back/Dockerfile create mode 100644 front/Dockerfile create mode 100644 front/default.conf diff --git a/back/Dockerfile b/back/Dockerfile new file mode 100644 index 0000000..ebdf205 --- /dev/null +++ b/back/Dockerfile @@ -0,0 +1,9 @@ +FROM node:19-alpine +RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app +WORKDIR /home/node/app +COPY package*.json ./ +USER node +RUN npm install +COPY --chown=node:node . . +EXPOSE 8080 +CMD [ "node", "app.js" ] \ No newline at end of file diff --git a/back/dist/app.js b/back/dist/app.js index 3c96921..096f6e5 100644 --- a/back/dist/app.js +++ b/back/dist/app.js @@ -18,9 +18,12 @@ app.get('/', (req, res) => { }); app.get('/searchStation', (req, res) => { let query = req.query; - console.log(query); client.locations(query.text, { results: 1 }).then(result => res.send({ name: result[0].name, id: result[0].id })); }); +app.get('/searchConnection', (req, res) => { + let query = req.query; + client.journeys(query.from, query.to, { results: 5 }).then(result => res.send(result.journeys)).catch(error => res.sendStatus(500)); +}); app.listen(port, () => { return console.log(`Express is listening at http://localhost:${port}`); }); diff --git a/back/dist/app.js.map b/back/dist/app.js.map index e3c69bd..8326c71 100644 --- a/back/dist/app.js.map +++ b/back/dist/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,4BAA4B,CAAA;AAC/D,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,0EAA0E;AAC1E,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAExC,iDAAiD;AACjD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEjD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACvB,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnC,IAAI,KAAK,GAAQ,GAAG,CAAC,KAAK,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,4BAA4B,CAAA;AAC/D,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,MAAM,IAAI,GAAG,IAAI,CAAC;AAElB,0EAA0E;AAC1E,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAExC,iDAAiD;AACjD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEjD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACvB,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,qBAAqB,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC;AACX,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnC,IAAI,KAAK,GAAQ,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC;AACH,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACtC,IAAI,KAAK,GAAQ,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACpI,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/back/src/app.ts b/back/src/app.ts index 7be381e..d77d5d7 100644 --- a/back/src/app.ts +++ b/back/src/app.ts @@ -24,6 +24,10 @@ app.get('/searchStation', (req, res) => { let query: any = req.query; client.locations(query.text, {results:1}).then(result => res.send({name: result[0].name, id:result[0].id})); }); +app.get('/searchConnection', (req, res) => { + let query: any = req.query; + client.journeys(query.from, query.to,{results:5}).then(result => res.send(result.journeys)).catch(error => res.sendStatus(500)); +}); app.listen(port, () => { return console.log(`Express is listening at http://localhost:${port}`); diff --git a/front/Dockerfile b/front/Dockerfile new file mode 100644 index 0000000..dc19821 --- /dev/null +++ b/front/Dockerfile @@ -0,0 +1,4 @@ +FROM nginx +COPY bahnui.front/dist/. /var/www/html/ +COPY default.conf /etc/nginx/conf.d/default.conf +EXPOSE 80 \ No newline at end of file diff --git a/front/bahnui-front/src/components/routing.vue b/front/bahnui-front/src/components/routing.vue index 3028fb4..31ffc75 100644 --- a/front/bahnui-front/src/components/routing.vue +++ b/front/bahnui-front/src/components/routing.vue @@ -1,16 +1,53 @@ - - - - - - \ No newline at end of file + .journey { + margin: 40px; + } + .station { + margin: 4px; + display: inline-block; + width:150px; + vertical-align: text-top; + } + .line { + margin: 4px; + display: inline-block; + width:100px; + vertical-align: text-top; + } + .operator { + font-size: 10px; + } + .results { + display: inline-flex; + } + div { + font-family:Verdana, Geneva, Tahoma, sans-serif; + } + .walking > div { + font-size: 12px; + } + diff --git a/front/default.conf b/front/default.conf new file mode 100644 index 0000000..c039aec --- /dev/null +++ b/front/default.conf @@ -0,0 +1,8 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + root /var/www/html/; + index index.html index.htm index.nginx-debian.html; + + server_name _; +} \ No newline at end of file