From b263a8e567c996868dc2b241de97f01dfa025eec Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 10:56:53 +0530 Subject: [PATCH 1/6] new file in git folder --- Git/index.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 Git/index.html diff --git a/Git/index.html b/Git/index.html new file mode 100644 index 0000000..d8294c0 --- /dev/null +++ b/Git/index.html @@ -0,0 +1 @@ +

hii

\ No newline at end of file From 2986b6a3e836c960f86776f6f1b4f0d7f32c7336 Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 11:08:05 +0530 Subject: [PATCH 2/6] new a txt file ye --- Git/test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 Git/test.txt diff --git a/Git/test.txt b/Git/test.txt new file mode 100644 index 0000000..d2aeeec --- /dev/null +++ b/Git/test.txt @@ -0,0 +1 @@ +hello there \ No newline at end of file From d5095d7d8e10750a4d21fa133508b3efe3672434 Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 11:09:31 +0530 Subject: [PATCH 3/6] changes --- Git/test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Git/test.txt b/Git/test.txt index d2aeeec..740e51b 100644 --- a/Git/test.txt +++ b/Git/test.txt @@ -1 +1 @@ -hello there \ No newline at end of file +hello there, hey again \ No newline at end of file From 75deb7d197929b539ed1e3f3795847731127fcc2 Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 14:42:06 +0530 Subject: [PATCH 4/6] docker: files --- Docker/code/Dockerfile | 6 +++--- Docker/code/docker-compose.yml | 22 +++++++++++----------- Docker/code/docker/Dockerfile | 3 +++ 3 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 Docker/code/docker/Dockerfile diff --git a/Docker/code/Dockerfile b/Docker/code/Dockerfile index be6612e..223d5af 100644 --- a/Docker/code/Dockerfile +++ b/Docker/code/Dockerfile @@ -1,3 +1,3 @@ -# FROM nginx:1.23.0-alpine -# COPY /public /usr/share/nginx/html -# CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file +FROM nginx:1.23.0-alpine +COPY /public /usr/share/nginx/html +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/Docker/code/docker-compose.yml b/Docker/code/docker-compose.yml index cae06e3..4a93901 100644 --- a/Docker/code/docker-compose.yml +++ b/Docker/code/docker-compose.yml @@ -1,11 +1,11 @@ -# version: '3.7' -# services: -# webserver: -# build: -# context: . -# dockerfile: docker/Dockerfile -# container_name: webserver -# ports: -# - 9000:80 -# volumes: -# - ./public:/usr/share/nginx/html +version: '3.7' +services: + webserver: + build: + context: . + dockerfile: docker/Dockerfile + container_name: webserver + ports: + - 9000:80 + volumes: + - ./public:/usr/share/nginx/html diff --git a/Docker/code/docker/Dockerfile b/Docker/code/docker/Dockerfile new file mode 100644 index 0000000..223d5af --- /dev/null +++ b/Docker/code/docker/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:1.23.0-alpine +COPY /public /usr/share/nginx/html +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file From da1b2733d7bd283ad4dffebaf91ff9e8996d958e Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 18:19:58 +0530 Subject: [PATCH 5/6] finish up --- .gitignore | 5 +- NodeJs/code/nodejs-app/index.js | 40 +++++++++++---- NodeJs/code/nodejs-app/package.json | 5 +- NodeJs/code/nodejs-app/views/details.ejs | 62 +++++++++++++++--------- 4 files changed, 78 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index d94c3c0..b0555aa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ NodeJs/code/nodejs-app/.env -NodeJs/code/simple-nodejs-app/node_modules \ No newline at end of file +node_modules/ + +# Lock files +package-lock.json \ No newline at end of file diff --git a/NodeJs/code/nodejs-app/index.js b/NodeJs/code/nodejs-app/index.js index 036ae08..8d74f16 100644 --- a/NodeJs/code/nodejs-app/index.js +++ b/NodeJs/code/nodejs-app/index.js @@ -1,25 +1,47 @@ // imports -const { response, json } = require('express'); -const express = require('express'); -const request = require('request'); -const wikip = require('wiki-infobox-parser'); -const dotenv = require('dotenv') -const axios = require('axios'); +const { response, json } = require("express"); +const express = require("express"); +const request = require("request"); +const wiki = require("wikipedia"); +const dotenv = require("dotenv"); +const axios = require("axios"); +const { URL } = require("node:url"); //Initializing Express for creating Server const app = express(); //Configuring env dotenv.config(); -//Static Resources +//Static Resources app.use("/static", express.static(__dirname + "/static/")); //Setting up the View Engine -app.set("view engine", 'ejs'); +app.set("view engine", "ejs"); //Dashboard route here +app.get("/", (req, res) => { + res.render("dashboard"); +}); //Nasa route here +app.get("/nasa", (req, res) => { + (async () => { + const url = new URL("https://api.nasa.gov/planetary/apod"); + url.searchParams.append("api_key", process.env.API_KEY); + const response = await axios.get(url.href); + res.render("nasa", { data: response.data }); + })(); +}); //Search route here +app.get("/search", async (req, response) => { + if (req.originalUrl === "/search") { + response.render("search"); + return; + } + const query = req.originalUrl.split("=")[1]; + const page = await wiki.page(query); + const summary = await page.summary(); + response.render("details", { data: summary }); +}); //Starting the server -app.listen(6004, console.log("Listening at port 6004...")); \ No newline at end of file +app.listen(6004, console.log("Listening at port 6004...")); diff --git a/NodeJs/code/nodejs-app/package.json b/NodeJs/code/nodejs-app/package.json index 0a9fac3..4174970 100644 --- a/NodeJs/code/nodejs-app/package.json +++ b/NodeJs/code/nodejs-app/package.json @@ -7,7 +7,7 @@ "start": "nodemon index.js", "test": "echo \"Error: no test specified\" && exit 1" }, - "private":"true", + "private": "true", "dependencies": { "axios": "^0.19.2", "dotenv": "^16.0.3", @@ -16,6 +16,7 @@ "node-fetch": "^2.6.7", "nodemon": "^2.0.3", "request": "^2.88.2", - "wiki-infobox-parser": "^0.1.11" + "wiki-infobox-parser": "^0.1.11", + "wikipedia": "^2.0.0" } } diff --git a/NodeJs/code/nodejs-app/views/details.ejs b/NodeJs/code/nodejs-app/views/details.ejs index 3f41d43..a509f8d 100644 --- a/NodeJs/code/nodejs-app/views/details.ejs +++ b/NodeJs/code/nodejs-app/views/details.ejs @@ -1,32 +1,50 @@ - + - - - UniCourt Workshop1 - Search Result - - - + + + UniCourt Workshop1 - Nasa + + - + +
-
-
-
Search Term: <%= data.person %>
+
+
<%= data.title %> Details
+
+
+
+ + +
-
-
-
Search Result:
-
-
-
-
<%= JSON.stringify(data,undefined,2) %>
+
+
+
+

<%= data.title %>

+

Explanation: <%= data.extract %>

+
+ Back
- Back
- - +
+ - \ No newline at end of file + From 59f1b9bd8a32c9a6dae5198e4f6c7774cce4b95b Mon Sep 17 00:00:00 2001 From: Anish-Shobith Date: Tue, 28 Mar 2023 20:22:07 +0530 Subject: [PATCH 6/6] route: chatgpt --- NodeJs/code/nodejs-app/index.js | 36 +++++++++++++++++ NodeJs/code/nodejs-app/views/chatgpt.ejs | 45 ++++++++++++++++++++++ NodeJs/code/nodejs-app/views/dashboard.ejs | 3 +- NodeJs/code/nodejs-app/views/image.ejs | 42 ++++++++++++++++++++ 4 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 NodeJs/code/nodejs-app/views/chatgpt.ejs create mode 100644 NodeJs/code/nodejs-app/views/image.ejs diff --git a/NodeJs/code/nodejs-app/index.js b/NodeJs/code/nodejs-app/index.js index 8d74f16..6e5b41f 100644 --- a/NodeJs/code/nodejs-app/index.js +++ b/NodeJs/code/nodejs-app/index.js @@ -7,6 +7,31 @@ const dotenv = require("dotenv"); const axios = require("axios"); const { URL } = require("node:url"); +async function generateImage({ prompt, size = "256x256", n = 1 }) { + return await axios + .post( + "https://api.openai.com/v1/images/generations", + JSON.stringify({ + prompt, + n, + size, + }), + { + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${process.env.CHAT_GPT_API_KEY}`, + }, + } + ) + .then(function (response) { + return response.data.data[0].url; + }) + .catch(function (error) { + console.log(`Image genrator failed with the error: ${error}`); + return ""; + }); +} + //Initializing Express for creating Server const app = express(); //Configuring env @@ -43,5 +68,16 @@ app.get("/search", async (req, response) => { response.render("details", { data: summary }); }); +// chatgpt route here +app.get("/chatgpt", async (req, res) => { + if (req.originalUrl === "/chatgpt") { + res.render("chatgpt"); + return; + } + const prompt = req.originalUrl.split("=")[1]; + const image = await generateImage({ prompt }); + res.render("image", { data: { image: image, title: prompt } }); +}); + //Starting the server app.listen(6004, console.log("Listening at port 6004...")); diff --git a/NodeJs/code/nodejs-app/views/chatgpt.ejs b/NodeJs/code/nodejs-app/views/chatgpt.ejs new file mode 100644 index 0000000..1a3eeb0 --- /dev/null +++ b/NodeJs/code/nodejs-app/views/chatgpt.ejs @@ -0,0 +1,45 @@ + + + + + + UniCourt Workshop1 - OpenAI Image Generation + + + + +
+
+
+

OpenAI Image Generation

+
+
+ + +
+
+
+
+
+ + + diff --git a/NodeJs/code/nodejs-app/views/dashboard.ejs b/NodeJs/code/nodejs-app/views/dashboard.ejs index cb79d37..9afb167 100644 --- a/NodeJs/code/nodejs-app/views/dashboard.ejs +++ b/NodeJs/code/nodejs-app/views/dashboard.ejs @@ -16,7 +16,8 @@

Welcome To Node Workshop

diff --git a/NodeJs/code/nodejs-app/views/image.ejs b/NodeJs/code/nodejs-app/views/image.ejs new file mode 100644 index 0000000..b50b70c --- /dev/null +++ b/NodeJs/code/nodejs-app/views/image.ejs @@ -0,0 +1,42 @@ + + + + + + UniCourt Workshop1 - Nasa + + + + +
+
+
+
+
<%= data.title %> Image
+
+
+ + + +
+ Back +
+
+
+ + +