diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b6e88f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +imageURL.txt +node_modules +.vscode +package-lock.json \ No newline at end of file diff --git a/about.html b/about.html new file mode 100644 index 0000000..892325f --- /dev/null +++ b/about.html @@ -0,0 +1,108 @@ + + + + + + About Us | ITER ROBOTICS CLUB + + + + + +
+ +
+ +
+
+

About Us

+

+ The need for a technical club which would incorporate the principles + of all engineering branches onto a common platform was felt by the + dynamic students of the college, as a result of which the iter + robotics club was initiated in the year 2007. +

+ +

+ ​It is an open club, co-ordinated by the students, + functioning in the interest of students of the institution wishing to + have a practical application of their knowledge base, gained from the + classrooms. +

+

+ ​We at iter robotics club constantly have been working for the + spreading of technical awareness in the field of robotics . +

+

+ ​We beileve in creating local hotpots of technical knowledge for the + proper access to technology to the engineering fraternity. We believe + in putting theories into practice in day to day life making process + easier for humans +

+

+ ​The worldwide developments in the field of robotics today has + obviously encouraged whooping number of students taking ‘robotics’ + into something more than just a hobby. +

+ +

+ Presently, the IRC has more than 100+ registered + student members from various branches who have shown their excellence + by winning robotics competitions throughout the nation. +

+
+
+ + + + + + diff --git a/app.js b/app.js new file mode 100644 index 0000000..361e7e9 --- /dev/null +++ b/app.js @@ -0,0 +1,31 @@ +const express = require("express"), + app = express(), + mongoose = require("mongoose"), + bodyParser = require("body-parser"), + methodOverride = require("method-override"), + expressSanitizer = require("express-sanitizer"); + +const blogRoutes = require("./routes/blog"); + +app.set("view engine", "ejs"); +app.use(express.static("public")); +app.use(bodyParser.urlencoded({ extended: true })); +app.use(expressSanitizer()); +app.use(methodOverride("_method")); + +app.use("/blogs", blogRoutes); + +mongoose + .connect("mongodb://localhost/irc_blog", { + useNewUrlParser: true, + useUnifiedTopology: true, + useFindAndModify: true, + }) + .then(() => { + console.log("===DB Connected==="); + }) + .catch((err) => { + console.log(err); + }); + +app.listen(5000); diff --git a/assets/css/about.css b/assets/css/about.css new file mode 100644 index 0000000..6272ec2 --- /dev/null +++ b/assets/css/about.css @@ -0,0 +1,23 @@ +.container { + width: 100vw; + padding: 2em; + background-color: #f6f6f6; +} + +.heading { + font-size: 3rem; + padding-bottom: 1.5rem; +} + +.container p { + font-size: 1.8rem; + padding-bottom: 2rem; +} + +@media (min-width: 900px) { + .container { + width: 80%; + margin: 0 auto; + height: 80vh; + } +} diff --git a/assets/css/gallery.css b/assets/css/gallery.css new file mode 100644 index 0000000..22c5699 --- /dev/null +++ b/assets/css/gallery.css @@ -0,0 +1,52 @@ +.container { + width: 100%; + margin: 2em auto; + text-align: center; +} + +.container img { + width: 90vw; +} + +@media (min-width: 900px) { + .container { + width: 80%; + } + + .container img { + width: 30%; + cursor: pointer; + } + + .fade { + display: inline-block; + position: relative; + width: 30%; + height: auto; + } + + .fade img { + width: 100%; + } + + .fade::after { + content: "Senior instructing juniors"; + display: flex; + align-items: center; + justify-content: center; + color: white; + font-size: 2rem; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: #000; + opacity: 0; + transition: all 0.5s ease; + } + + .fade:hover::after { + opacity: 0.5; + } +} diff --git a/assets/css/index.css b/assets/css/index.css new file mode 100644 index 0000000..1fa4283 --- /dev/null +++ b/assets/css/index.css @@ -0,0 +1,122 @@ +/* body */ + +.container { + max-width: 100%; + height: auto; + margin: 2em auto; + text-align: center; +} + +.back-image img { + width: 100vw; + margin-bottom: 2rem; +} + +.tagline { + margin-bottom: 2rem; +} + +.tagline h2 { + font-size: 1.6rem; + color: #2b2a29; +} + +.club-register { + margin-top: 6rem; +} + +.club-register h3 { + font-size: 1.8rem; + padding-bottom: 0.5rem; +} + +.btn.register { + padding: 0.5rem 4rem; + border-radius: 3em; + background-color: #0084ff; +} + +.btn.register a { + color: white; + font-size: 2.4rem; +} + +.other-info { + margin: 6rem auto; +} + +.other-info .btn { + border: 2px solid #0084ff; + padding: 1rem 3rem; + border-radius: 1.7rem; +} + +.other-info a { + font-size: 2.3rem; + font-weight: 600; +} + +.other-info p { + font-size: 1.8rem; +} + +.other-info .btn:hover { + cursor: pointer; + background-color: #0084ff; +} + +/* desktop version */ + +@media (min-width: 950px) { + .container { + width: 85%; + margin: 0 auto; + } + + .back-image img { + width: 100%; + margin: 2em auto; + } + + .tagline h2 { + font-size: 4rem; + color: rgba(30, 30, 30, 0.9); + } + + .club-register h3 { + font-size: 3rem; + } + + .btn.register { + width: 25%; + height: auto; + padding: 3em auto; + } + + .btn.register a { + letter-spacing: 0.2rem; + color: white; + font-size: 2.7rem; + } + + .btn.register:hover { + box-shadow: 0px 3px 5px #979797; + cursor: pointer; + } + + .other-info a { + font-size: 3rem; + font-weight: 600; + letter-spacing: 0.3rem; + } + + .other-info p { + font-size: 2.3rem; + letter-spacing: 0.2rem; + } + + .other-info .btn { + width: 30%; + margin: 3em auto; + } +} diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..e985eb4 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,202 @@ +/* defaults */ +html { + font-size: 56.25%; +} + +body { + max-width: 100%; + overflow-x: hidden; + font-family: "Montserrat", sans-serif; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +a { + text-decoration: none; + color: black; +} + +li { + list-style: none; +} + +.btn { + text-decoration: none; + background: none; + border: none; +} + +/* navbar */ + +nav { + width: 100%; + max-height: 13vh; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 2px solid #f6f6f6; + box-shadow: 0px 2px 5px #f6f6f6; +} + +.brand, +.nav-items { + display: flex; + align-items: center; +} + +.brand a { + display: flex; +} + +.brand-title { + font-size: 2.7rem; +} + +.burger { + cursor: pointer; +} + +nav .logo { + height: 8vh; +} + +.hide-mobile { + display: none; +} + +.close-btn { + width: 20%; + position: absolute; + top: 0; + right: 0; + padding: 2rem; + cursor: pointer; +} + +.nav-links { + background-color: #f6f6f6; + position: absolute; + top: 0; + right: 0; + padding: 14em auto; + display: block; + text-align: center; + width: 60%; + height: 100vh; + transform: translateX(100%); + visibility: hidden; + transition: 800ms; +} + +.nav-links li a { + display: block; + font-size: 2em; + padding: 2em auto; + letter-spacing: 0.2rem; + margin: 2em auto; + opacity: 0; + transition: 800ms; +} + +.nav-links.nav-active { + transform: translateX(0%); + opacity: 1; + visibility: visible; +} + +.nav-links.nav-active li a { + opacity: 1; +} + +/* footer */ + +@media (min-height: 700px) { + footer { + position: absolute; + bottom: 0; + width: 100%; + border-top: 2px solid rgba(230, 228, 228, 0.5); + } +} + +footer { + width: 100%; + border-top: 2px solid rgba(230, 228, 228, 0.5); + height: 9vh; +} + +.social-icons { + display: flex; + margin-top: 2em; + justify-content: space-evenly; +} + +footer img { + width: 3em; +} + +/* desktop version */ + +@media (min-width: 950px) { + nav { + width: 100%; + display: flex; + height: 10vh; + } + + .brand-title { + font-size: 3.5rem; + } + + .burger { + display: none; + } + + .close-btn { + display: none; + } + + .nav-links { + display: flex; + justify-content: space-evenly; + width: 60%; + padding: 0 1em; + margin: 1em 0 0 0; + height: auto; + background: none; + transform: translateX(0%); + visibility: visible; + } + + .nav-links li a { + padding: 1em 1em; + margin: 0; + opacity: 1; + } + + .nav-links li:hover { + background-color: #f6f6f6; + } + + /* footer */ + + footer.footer { + width: 100%; + position: relative; + max-height: 10vh; + } + + .social-icons { + width: 60%; + margin: 2.5em auto; + justify-content: space-evenly; + } + + footer img { + width: 3.5rem; + } +} diff --git a/assets/css/support.css b/assets/css/support.css new file mode 100644 index 0000000..4d61f30 --- /dev/null +++ b/assets/css/support.css @@ -0,0 +1,68 @@ +.container { + width: 100%; + background-color: #f6f6f6; + padding: 3rem 0; +} + +.intro, +.contact-info { + padding-left: 1.5em; +} + +.intro { + text-align: center; +} + +.heading { + padding-top: 3rem; +} + +.heading { + font-size: 2.7rem; + margin-bottom: 0.5rem; +} + +.sub-heading { + font-size: 2rem; + font-weight: 500; +} + +.title { + font-size: 2.4rem; + font-weight: 700; +} + +.sub-title { + font-size: 2.2rem; + font-weight: 600; +} + +p, +.number { + font-size: 2.1rem; + line-height: 1.5em; +} + +.faculty, +.coordinators { + margin: 4rem auto; +} + +@media (min-width: 900px) { + .container { + width: 90%; + min-height: 80vh; + margin: 0 auto; + text-align: justify; + padding: 3rem 2rem; + } + + .contact-info, + .parts { + display: flex; + } + + .part { + padding: 1em 2em 1em 0.2em; + } +} diff --git a/assets/images/close.svg b/assets/images/close.svg new file mode 100644 index 0000000..fd8878f --- /dev/null +++ b/assets/images/close.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/facebook.svg b/assets/images/facebook.svg new file mode 100644 index 0000000..285f4fe --- /dev/null +++ b/assets/images/facebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/ham.svg b/assets/images/ham.svg new file mode 100644 index 0000000..14bc7fc --- /dev/null +++ b/assets/images/ham.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/images/instagram.svg b/assets/images/instagram.svg new file mode 100644 index 0000000..29d37f0 --- /dev/null +++ b/assets/images/instagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/twitter.svg b/assets/images/twitter.svg new file mode 100644 index 0000000..893ee63 --- /dev/null +++ b/assets/images/twitter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/images/youtube.svg b/assets/images/youtube.svg new file mode 100644 index 0000000..bbe38d7 --- /dev/null +++ b/assets/images/youtube.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/js/app.js b/assets/js/app.js new file mode 100644 index 0000000..dec0c0a --- /dev/null +++ b/assets/js/app.js @@ -0,0 +1,14 @@ +const navSlide = () => { + const burger = document.querySelector(".burger"); + const navLinks = document.querySelector(".nav-links"); + const exit = document.querySelector(".close-btn"); + + burger.addEventListener("click", () => { + navLinks.classList.toggle("nav-active"); + }); + exit.addEventListener("click", () => { + navLinks.classList.toggle("nav-active"); + }); +}; + +navSlide(); \ No newline at end of file diff --git a/gallery.html b/gallery.html new file mode 100644 index 0000000..a99a9f3 --- /dev/null +++ b/gallery.html @@ -0,0 +1,121 @@ + + + + + + Gallery | ITER ROBOTICS CLUB + + + + + +
+ +
+ +
+
+
+ +
+ + + + + + + + + +
+
+ + + + + + diff --git a/imageURL.txt b/imageURL.txt new file mode 100644 index 0000000..a05b4e3 --- /dev/null +++ b/imageURL.txt @@ -0,0 +1,43 @@ +logo +https://static.wixstatic.com/media/fcb8e7_e1093d7e7fe6430a9b8c0184805d177d~mv2.png/v1/crop/x_322,y_0,w_606,h_629/fill/w_99,h_81,al_c,q_85,usm_0.66_1.00_0.01/IRC_1.webp + +background +https://static.wixstatic.com/media/fcb8e7_776a951a941e486aa2ceedc0c987095a~mv2_d_3368_1530_s_2.png/v1/crop/x_12,y_0,w_3356,h_1351/fill/w_1939,h_781,al_c,q_90,usm_0.66_1.00_0.01/IRC%20Logo.webp + + +about text +---------- +The need for a technical club which would incorporate the principles of all engineering branches onto a common platform was felt by the dynamic students of the college, as a result of which the iter robotics club was initiated in the year 2007. + +​It is an open club, co-ordinated by the students, functioning in the interest of students of the institution wishing to have a practical application of their knowledge base, gained from the classrooms. + +​We at iter robotics club constantly have been working for the spreading of technical awareness in the field of robotics . + +​We beileve in creating local hotpots of technical knowledge for the proper access to technology to the engineering fraternity. We believe in putting theories into practice in day to day life making process easier for humans + +​The worldwide developments in the field of robotics today has obviously encouraged whooping number of students taking ‘robotics’ into something more than just a hobby. + +Presently, the IRC has more than 100+ registered student members from various branches who have shown their excellence by winning robotics competitions throughout the nation. + + + +Gallery images +-------------- + +https://static.wixstatic.com/media/6386bd_9180423343e444d99824d480a6143ea6~mv2_d_5184_3456_s_4_2.jpg/v1/fill/w_1014,h_676,al_c,q_90,usm_0.66_1.00_0.01/6386bd_9180423343e444d99824d480a6143ea6~mv2_d_5184_3456_s_4_2.webp + +https://static.wixstatic.com/media/6386bd_746f5892c37e4a9b82a06b31ddad6d0b~mv2_d_5184_3456_s_4_2.jpg/v1/fill/w_1046,h_698,al_c,q_90,usm_0.66_1.00_0.01/6386bd_746f5892c37e4a9b82a06b31ddad6d0b~mv2_d_5184_3456_s_4_2.webp + +https://static.wixstatic.com/media/6386bd_2f6394496a9841769af9af566ac87680~mv2.jpg/v1/fill/w_930,h_698,al_c,q_90,usm_0.66_1.00_0.01/6386bd_2f6394496a9841769af9af566ac87680~mv2.webp + +https://static.wixstatic.com/media/6386bd_b5c18119a8de44c58ab2453dcbfd3dd4~mv2.jpg/v1/fill/w_960,h_640,al_c,q_90/6386bd_b5c18119a8de44c58ab2453dcbfd3dd4~mv2.webp + +https://static.wixstatic.com/media/6386bd_b518c0270a47448b9c6d97ee95057596~mv2.jpg/v1/fill/w_698,h_698,al_c,q_90,usm_0.66_1.00_0.01/6386bd_b518c0270a47448b9c6d97ee95057596~mv2.webp + +https://static.wixstatic.com/media/6386bd_749756226697469bb9856b7d7aadbed5~mv2.jpg/v1/fill/w_756,h_563,al_c,q_90/6386bd_749756226697469bb9856b7d7aadbed5~mv2.webp + +https://static.wixstatic.com/media/6386bd_bb886b777d4e404fbeebc7b6766e6c8c~mv2.jpg/v1/fill/w_930,h_698,al_c,q_90,usm_0.66_1.00_0.01/6386bd_bb886b777d4e404fbeebc7b6766e6c8c~mv2.webp + +https://static.wixstatic.com/media/6386bd_9c08be0f7ac94d288d8c398b9c9516dc~mv2.jpg/v1/fill/w_960,h_638,al_c,q_90/6386bd_9c08be0f7ac94d288d8c398b9c9516dc~mv2.webp + +https://static.wixstatic.com/media/6386bd_c6f366f358d3433a99adf52b4b3647e3~mv2.jpg/v1/fill/w_930,h_698,al_c,q_90,usm_0.66_1.00_0.01/6386bd_c6f366f358d3433a99adf52b4b3647e3~mv2.webp diff --git a/index.html b/index.html new file mode 100644 index 0000000..6c0be7e --- /dev/null +++ b/index.html @@ -0,0 +1,104 @@ + + + + + + Home | ITER ROBOTICS CLUB + + + + + +
+ +
+ +
+
+
+ +
+ +
+

Innovating + Simulating + Fabricating + Coding = ROBOTizing

+
+ +
+

Not a member yet ?

+ +
+ +
+ +
+
+
+ + + + + + diff --git a/models/blog.js b/models/blog.js new file mode 100644 index 0000000..ae29300 --- /dev/null +++ b/models/blog.js @@ -0,0 +1,14 @@ +const mongoose = require("mongoose"); + +const blogSchema = new mongoose.Schema({ + title: String, + body: String, + image: String, + author: String, + created: { + type: Date, + default: Date.now(), + }, +}); + +module.exports = mongoose.model("Blog", blogSchema); diff --git a/package.json b/package.json new file mode 100644 index 0000000..be65726 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "irc", + "version": "1.0.0", + "description": "Website for IRC", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "skywalker", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "ejs": "^3.1.2", + "express": "^4.17.1", + "express-sanitizer": "^1.0.5", + "html": "^1.0.0", + "method-override": "^3.0.0", + "mongoose": "^5.9.10" + } +} diff --git a/routes/blog.js b/routes/blog.js new file mode 100644 index 0000000..34d735d --- /dev/null +++ b/routes/blog.js @@ -0,0 +1,91 @@ +const express = require("express"), + router = express.Router(); + +const Blog = require("../models/blog"); + +// INDEX Route +router.get("/", (req, res) => { + Blog.find({}, (err, blogs) => { + if (err) { + return res.status(404).json({ + error: "Could not get blog posts", + }); + } else { + res.render("index", { blogs }); + } + }); +}); + +// NEW Route +router.get("/new", (req, res) => { + res.render("new"); +}); + +// CREATE Route +router.post("/", (req, res) => { + req.body.blog.body = req.sanitize(req.body.blog.body); + + Blog.create(req.body.blog, (err, blog) => { + if (err || !blog) { + res.redirect("/blogs/new"); + } + + res.redirect("/blogs"); + }); +}); + +// SHOW Route +router.get("/:id", (req, res) => { + Blog.findById(req.params.id, (err, blog) => { + if (err || !blog) { + res.status(404).json({ + error: "Could not find the blog", + }); + } + + res.render("show", { blog }); + }); +}); + +// EDIT Route +router.get("/:id/edit", (req, res) => { + Blog.findById(req.params.id, (err, blog) => { + if (err || !blog) { + res.status(404).json({ + error: "Could not find the blog", + }); + } + + res.render("edit", { blog }); + }); +}); + +// UPDATE Route +router.put("/:id", (req, res) => { + req.body.blog.body = req.sanitize(req.body.blog.body); + + Blog.findByIdAndUpdate(req.params.id, req.body.blog, (err, blog) => { + if (err) { + res.status(404).json({ + error: "Could not find the blog", + }); + } + + res.redirect("/blogs/" + req.params.id); + }); +}); + +// DELETE Route +router.delete("/:id", (req, res) => { + Blog.findByIdAndRemove(req.params.id, (err) => { + if (err) { + return res.status(400).json({ + error: "Could not delete the blog", + }); + } + + res.redirect("/blogs"); + }); +}); + +module.exports = router; diff --git a/support.html b/support.html new file mode 100644 index 0000000..0b32dcf --- /dev/null +++ b/support.html @@ -0,0 +1,116 @@ + + + + + + Support | ITER ROBOTICS CLUB + + + + + + +
+ +
+ +
+
+
+

Contact Us

+

We are always here to listen to you

+
+
+
+

Faculty Incharge

+
+

Shaktijeet Mahapatra

+

Associate Professor

+

Room No.221,E-block

+

+ Department of Electronics and
+ Communication Engineering, ITER +

+

Bhubaneswar,Odisha-751030

+

+91- 993 7190 396

+
+
+ +
+

Overall Coordinators

+
+
+

Khitish Kumar Rout

+

+91-977 7619 991

+

Ankit Pattanayak

+

+91-700 8942 992

+

Tashmin Mishra

+

+91-966 8829 114

+
+
+

Subham Kumar

+

+91-903 1690 140

+

Binny Kumari

+

+91-809 3396 217

+

Mukund Mourya

+

+91-700 8197 552

+
+
+
+
+
+
+ + + + + + diff --git a/views/edit.ejs b/views/edit.ejs new file mode 100644 index 0000000..e69de29 diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..e69de29 diff --git a/views/new.ejs b/views/new.ejs new file mode 100644 index 0000000..e69de29 diff --git a/views/show.ejs b/views/show.ejs new file mode 100644 index 0000000..e69de29