From c6e3c83a0b08e7039bfaf497a2b05d29fcbfe083 Mon Sep 17 00:00:00 2001 From: elhadj amadou bah Date: Sat, 10 Oct 2020 14:59:37 +0200 Subject: [PATCH 1/8] organizing the project in frontend and backend --- {js => backend/models}/inMemoryWorkshop.js | 0 {css => frontend/css}/bootstrap.min.css | 0 {css => frontend/css}/index.css | 0 {css => frontend/css}/workshop.css | 0 {ejs => frontend/ejs}/footer.ejs | 0 {ejs => frontend/ejs}/head.ejs | 0 {ejs => frontend/ejs}/index.ejs | 0 {ejs => frontend/ejs}/workshop.ejs | 0 js/index.js => index.js | 6 +++--- js/README.md | 0 10 files changed, 3 insertions(+), 3 deletions(-) rename {js => backend/models}/inMemoryWorkshop.js (100%) rename {css => frontend/css}/bootstrap.min.css (100%) rename {css => frontend/css}/index.css (100%) rename {css => frontend/css}/workshop.css (100%) rename {ejs => frontend/ejs}/footer.ejs (100%) rename {ejs => frontend/ejs}/head.ejs (100%) rename {ejs => frontend/ejs}/index.ejs (100%) rename {ejs => frontend/ejs}/workshop.ejs (100%) rename js/index.js => index.js (88%) delete mode 100644 js/README.md diff --git a/js/inMemoryWorkshop.js b/backend/models/inMemoryWorkshop.js similarity index 100% rename from js/inMemoryWorkshop.js rename to backend/models/inMemoryWorkshop.js diff --git a/css/bootstrap.min.css b/frontend/css/bootstrap.min.css similarity index 100% rename from css/bootstrap.min.css rename to frontend/css/bootstrap.min.css diff --git a/css/index.css b/frontend/css/index.css similarity index 100% rename from css/index.css rename to frontend/css/index.css diff --git a/css/workshop.css b/frontend/css/workshop.css similarity index 100% rename from css/workshop.css rename to frontend/css/workshop.css diff --git a/ejs/footer.ejs b/frontend/ejs/footer.ejs similarity index 100% rename from ejs/footer.ejs rename to frontend/ejs/footer.ejs diff --git a/ejs/head.ejs b/frontend/ejs/head.ejs similarity index 100% rename from ejs/head.ejs rename to frontend/ejs/head.ejs diff --git a/ejs/index.ejs b/frontend/ejs/index.ejs similarity index 100% rename from ejs/index.ejs rename to frontend/ejs/index.ejs diff --git a/ejs/workshop.ejs b/frontend/ejs/workshop.ejs similarity index 100% rename from ejs/workshop.ejs rename to frontend/ejs/workshop.ejs diff --git a/js/index.js b/index.js similarity index 88% rename from js/index.js rename to index.js index 7feae67d..c48a7605 100644 --- a/js/index.js +++ b/index.js @@ -1,7 +1,7 @@ const express = require('express') const app = express() -const InMemoryWorkshop = require("./inMemoryWorkshop") +const InMemoryWorkshop = require("./backend/models/inMemoryWorkshop") const path = require("path") const ejs = require('ejs') var bodyParser = require('body-parser') @@ -10,8 +10,8 @@ app.use(bodyParser.urlencoded({ extended: false })) // set the view engine to ejs app.set('view engine', 'ejs'); -app.set('views', path.join(__dirname, '..', '/ejs')); -app.use(express.static(path.join(__dirname , '..', 'css'))); +app.set('views', path.join(__dirname, './frontend', '/ejs')); +app.use(express.static(path.join(__dirname , './frontend', 'css'))); app.get('/', function (req, res) { diff --git a/js/README.md b/js/README.md deleted file mode 100644 index e69de29b..00000000 From fd6213dbeb6e8b63f02d8f598a8ae679441a2a5f Mon Sep 17 00:00:00 2001 From: elhadj amadou bah Date: Sat, 10 Oct 2020 15:27:02 +0200 Subject: [PATCH 2/8] adding routes to the project --- backend/routes/workshop.js | 50 +++++++++++++++++++++++++++++++++++ frontend/ejs/head.ejs | 3 ++- frontend/ejs/index.ejs | 2 +- frontend/ejs/workshop.ejs | 4 +-- index.js | 53 +++++--------------------------------- 5 files changed, 61 insertions(+), 51 deletions(-) create mode 100644 backend/routes/workshop.js diff --git a/backend/routes/workshop.js b/backend/routes/workshop.js new file mode 100644 index 00000000..7f02b6e3 --- /dev/null +++ b/backend/routes/workshop.js @@ -0,0 +1,50 @@ +const express = require("express"); + +const InMemoryWorkshop = require("../models/inMemoryWorkshop") + +const router = express.Router(); + +router.get('/', function (req, res) { + InMemoryWorkshop.getWorkshopList() + .then(workshops => { + res.render("index", { + workshops: workshops + }) + }) +}) + +router.get('/workshop', function (req, res) { + console.log("get") + res.render('workshop') +}) + +router.post('/workshop', function (req, res) { + const name = req.body.name + const description = req.body.description + InMemoryWorkshop.addWorkshop(name, description).then(() => { + InMemoryWorkshop.getWorkshopList() + .then(() => { + res.redirect("/workshops"); + }) + }) + .catch(e =>res.send(e.message)) +}) + +router.get('/workshop/:name', function (req, res) { + const workshopName = req.params.name + InMemoryWorkshop.getWorkshopByName(workshopName) + .then(workshop => { + res.render('ejs/workshop', workshop) + }) + .catch(e =>ejs.send(e.message)) +}) + +router.post('/remove-workshop', function (req, res) { + res.status(500).send("TODO") +}) + +router.post('/update-workshop', function(req, res) { + res.status(500).send("TODO") +}) + +module.exports = router; diff --git a/frontend/ejs/head.ejs b/frontend/ejs/head.ejs index 64c50c10..7e23e3e8 100644 --- a/frontend/ejs/head.ejs +++ b/frontend/ejs/head.ejs @@ -2,4 +2,5 @@ Workshops - + + diff --git a/frontend/ejs/index.ejs b/frontend/ejs/index.ejs index 3ee3a884..5b43b69c 100644 --- a/frontend/ejs/index.ejs +++ b/frontend/ejs/index.ejs @@ -11,7 +11,7 @@

here is the list of workshop

-Create new workshop +Create new workshop <% workshops.forEach(function(workshop) { %> diff --git a/frontend/ejs/workshop.ejs b/frontend/ejs/workshop.ejs index 43ffe1f6..a90f0487 100644 --- a/frontend/ejs/workshop.ejs +++ b/frontend/ejs/workshop.ejs @@ -6,7 +6,7 @@ -
+
@@ -16,7 +16,7 @@
- Cancel + Cancel