diff --git a/Week1/assignment database-week1/.gitignore b/Week1/assignment database-week1/.gitignore deleted file mode 100644 index 776a5edc7..000000000 --- a/Week1/assignment database-week1/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Node modules -node_modules/ - -# Logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - - - -# OS files -.DS_Store -Thumbs.db - -# Database files -*.sqlite -*.sqlite3 - -# VS Code settings -.vscode/ diff --git a/Week1/assignment database-week1/db-config.js b/Week1/assignment database-week1/db-config.js deleted file mode 100644 index 03edd858c..000000000 --- a/Week1/assignment database-week1/db-config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { Pool } = require("pg") - - function createPool(dbName){ -return new Pool ({ - user: 'hyfuser', - host: 'localhost', - database: dbName, - password: 'hyfpassword', - port: 5432, -}) -} - -module.exports = {createPool} \ No newline at end of file diff --git a/Week1/assignment database-week1/exercise1/createDb.js b/Week1/assignment database-week1/exercise1/createDb.js deleted file mode 100644 index c0aab073f..000000000 --- a/Week1/assignment database-week1/exercise1/createDb.js +++ /dev/null @@ -1,21 +0,0 @@ -const { Pool } = require('pg') - - async function createDatabase(dbName){ -const pool = new Pool({ - user: 'hyfuser', - host: 'localhost', - database: 'postgres', - password: 'hyfpassword', - port: 5432, -}) -try{ - await pool.query(`CREATE DATABASE ${dbName}`) - console.log(`Databse ${dbName} has been seccessfully ctreated`) -} catch(error){ - console.error(`Error creating databse:${error}`) -} finally{ - await pool.end() -} -} - -module.exports = createDatabase diff --git a/Week1/assignment database-week1/exercise1/createTables.js b/Week1/assignment database-week1/exercise1/createTables.js deleted file mode 100644 index f6b474731..000000000 --- a/Week1/assignment database-week1/exercise1/createTables.js +++ /dev/null @@ -1,42 +0,0 @@ -const { createPool } = require("../db-config"); - - async function createTables() { - const pool = createPool("meetup"); - - const tables = [ - `CREATE TABLE IF NOT EXISTS Invitee ( - invitee_no SERIAL PRIMARY KEY, - invitee_name VARCHAR(100) NOT NULL, - invited_by VARCHAR(100) NOT NULL - )`, - - `CREATE TABLE IF NOT EXISTS Room ( - room_no SERIAL PRIMARY KEY, - room_name VARCHAR(50) NOT NULL, - floor_number INT - )`, - - `CREATE TABLE IF NOT EXISTS Meeting ( - meeting_no SERIAL PRIMARY KEY, - meeting_title VARCHAR(200) NOT NULL, - starting_time TIMESTAMP NOT NULL, - ending_time TIMESTAMP NOT NULL, - room_no INT, - FOREIGN KEY (room_no) REFERENCES Room(room_no) -); -` - ]; - - try { - for (const query of tables) { - await pool.query(query); - console.log("Table created successfully:", query.split(" ")[5]); // log table name - } - } catch (error) { - console.error(error); - } finally { - await pool.end(); - } -} - -module.exports = createTables diff --git a/Week1/assignment database-week1/exercise1/insetInfo.js b/Week1/assignment database-week1/exercise1/insetInfo.js deleted file mode 100644 index b87c2e6d1..000000000 --- a/Week1/assignment database-week1/exercise1/insetInfo.js +++ /dev/null @@ -1,60 +0,0 @@ -const { createPool } = require("../db-config"); -const pool = createPool("meetup"); - - async function insertInvitee(invitee_name, invited_by) { - const query = `INSERT INTO Invitee (invitee_name,invited_by ) - VALUES($1,$2) - RETURNING *`; - - try { - const response = await pool.query(query, [invitee_name, invited_by]); - console.log(response.rows[0]); - return response.rows[0]; - } catch (error) { - console.error(error); - } -} - -async function insertRoom(room_name, floor_number) { - const query = `INSERT INTO Room (room_name, floor_number) - VALUES($1,$2) - RETURNING *`; - try { - const response = await pool.query(query, [room_name, floor_number]); - console.log(response.rows[0]); - return response.rows[0]; - } catch (error) { - console.error(error); - } -} - -async function insertMeeting( - meeting_title, - starting_time, - ending_time, - room_no -) { - const query = `INSERT INTO Meeting(meeting_title, starting_time,ending_time, room_no) - VALUES($1,$2, $3, $4) - RETURNING *`; - try { - const response = await pool.query(query, [ - meeting_title, - starting_time, - ending_time, - room_no, - ]); - console.log(response.rows[0]); - return response.rows[0]; - } catch (error) { - console.error(error); - } -} - - - -module.exports = { - insertInvitee, - insertRoom, - insertMeeting, -}; diff --git a/Week1/assignment database-week1/exercise1/main.js b/Week1/assignment database-week1/exercise1/main.js deleted file mode 100644 index a2cdbe419..000000000 --- a/Week1/assignment database-week1/exercise1/main.js +++ /dev/null @@ -1,27 +0,0 @@ -const createDatabase = require("./createDb"); -const createTables = require("./createTables"); -const { insertInvitee, insertRoom, insertMeeting} = require("./insetInfo"); -const showData = require("./showData"); - -async function main() { - try { - await createDatabase("meetup"); - await createTables(); - - await insertInvitee("Yahya", "Mohammed") - await insertRoom("Blue Room", 3); - const room = await insertRoom("Blue Room", 3); - await insertMeeting( - "Weekly Section Planning", - "2025-08-25 11:00:00", - "2025-08-25 14:00:00", - room.room_no - ); - - await showData(); - console.log("All steps completed successfully!"); - } catch (error) { - console.error("Error", error); - } -} -main(); diff --git a/Week1/assignment database-week1/exercise1/showData.js b/Week1/assignment database-week1/exercise1/showData.js deleted file mode 100644 index d885dda8d..000000000 --- a/Week1/assignment database-week1/exercise1/showData.js +++ /dev/null @@ -1,34 +0,0 @@ -const { createPool } = require("../db-config"); -const pool = createPool("meetup"); - -async function showData() { - const query = ` - SELECT table_name - FROM information_schema.tables - WHERE table_schema = 'public' - ORDER BY table_name; - `; - try { - const roomResult = await pool.query("SELECT * FROM Room"); - console.log(roomResult.rows); - const inviteeResult = await pool.query("SELECT * FROM Invitee"); - console.log(inviteeResult.rows); - const meetingResult = await pool.query("SELECT * FROM Meeting"); - console.log(meetingResult.rows); - - const allTablesResult = await pool.query(query); // All tables - console.log(allTablesResult.rows); - const tables = allTablesResult.rows.map((row) => row.table_name); - console.log(tables); - for (const table of tables) { - console.log(`\n Table: ${table}`); - const finalResult = await pool.query(`SELECT * FROM ${table}`); - console.table(finalResult.rows); - } - } catch (error) { - console.error("Error fetching data:", error); - } finally { - await pool.end(); - } -} -module.exports = showData diff --git a/Week1/assignment database-week1/exercise2/main.js b/Week1/assignment database-week1/exercise2/main.js deleted file mode 100644 index 8d82545bd..000000000 --- a/Week1/assignment database-week1/exercise2/main.js +++ /dev/null @@ -1,13 +0,0 @@ - -const showData = require("./world.js"); - -async function main() { - try { - - await showData(); - console.log("All steps completed successfully!"); - } catch (error) { - console.error("Error", error); - } -} -main(); \ No newline at end of file diff --git a/Week1/assignment database-week1/exercise2/world.js b/Week1/assignment database-week1/exercise2/world.js deleted file mode 100644 index 350da4ba4..000000000 --- a/Week1/assignment database-week1/exercise2/world.js +++ /dev/null @@ -1,84 +0,0 @@ -const { Pool } = require("pg"); - -const { createPool } = require("../db-config"); -const pool = createPool("world"); - - async function showData() { - try { - // 1️- Names of countries with population > 8 million - const response = await pool.query( - "SELECT name FROM country WHERE population > 8000000" - ); - console.log("Countries with population > 8 million:"); - console.table(response.rows); - - // 2️- Names of countries that have "land" in their names - const response1 = await pool.query( - "SELECT name FROM country WHERE name LIKE '%land%'" - ); - console.log('Countries with "land" in the name:'); - console.table(response1.rows); - - // 3️- Cities with population between 500,000 and 1 million - const response2 = await pool.query( - "SELECT name FROM city WHERE population BETWEEN 500000 AND 1000000" - ); - console.log("Cities with population between 500,000 and 1 million:"); - console.table(response2.rows); - - // 4️- All countries in Europe - const response3 = await pool.query( - "SELECT name FROM country WHERE continent = 'Europe'" - ); - console.log("Countries in Europe:"); - console.table(response3.rows); - - // 5️- All countries in descending order of surface area - const response4 = await pool.query( - "SELECT name, surfacearea FROM country ORDER BY surfacearea DESC" - ); - console.log("Countries by descending surface area:"); - console.table(response4.rows); - - // 6️- All cities in the Netherlands - const response5 = await pool.query( - "SELECT name FROM city WHERE countrycode = 'NLD'" - ); - console.log("Cities in the Netherlands:"); - console.table(response5.rows); - - // 7️- Population of Rotterdam - const response6 = await pool.query( - "SELECT name, population FROM city WHERE name = 'Rotterdam'" - ); - console.log("Population of Rotterdam:"); - console.table(response6.rows); - - // 8️- Top 10 countries by surface area - const response7 = await pool.query( - "SELECT name, surfacearea FROM country ORDER BY surfacearea DESC LIMIT 10" - ); - console.log("Top 10 countries by surface area:"); - console.table(response7.rows); - - // 9️- Top 10 most populated cities - const response8 = await pool.query( - "SELECT name, population FROM city ORDER BY population DESC LIMIT 10" - ); - console.log("Top 10 most populated cities:"); - console.table(response8.rows); - - // 10- Total population of the world - const response9 = await pool.query( - "SELECT SUM(population) AS world_population FROM country" - ); - console.log("Total population of the world:"); - console.table(response9.rows); - } catch (error) { - console.error(error); - } finally { - await pool.end(); - } -} - -module.exports = showData;