diff --git a/.gitignore b/.gitignore
index 45ef305..b2f3a7b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-# Ignored executables written by Go
-**/main
-**/main.exe
+# Ignored executables written by Go
+**/main
+**/main.exe
**/a.out
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 0e259d4..354f1e0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,121 +1,121 @@
-Creative Commons Legal Code
-
-CC0 1.0 Universal
-
- CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
- LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
- ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
- INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
- REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
- PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
- THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
- HEREUNDER.
-
-Statement of Purpose
-
-The laws of most jurisdictions throughout the world automatically confer
-exclusive Copyright and Related Rights (defined below) upon the creator
-and subsequent owner(s) (each and all, an "owner") of an original work of
-authorship and/or a database (each, a "Work").
-
-Certain owners wish to permanently relinquish those rights to a Work for
-the purpose of contributing to a commons of creative, cultural and
-scientific works ("Commons") that the public can reliably and without fear
-of later claims of infringement build upon, modify, incorporate in other
-works, reuse and redistribute as freely as possible in any form whatsoever
-and for any purposes, including without limitation commercial purposes.
-These owners may contribute to the Commons to promote the ideal of a free
-culture and the further production of creative, cultural and scientific
-works, or to gain reputation or greater distribution for their Work in
-part through the use and efforts of others.
-
-For these and/or other purposes and motivations, and without any
-expectation of additional consideration or compensation, the person
-associating CC0 with a Work (the "Affirmer"), to the extent that he or she
-is an owner of Copyright and Related Rights in the Work, voluntarily
-elects to apply CC0 to the Work and publicly distribute the Work under its
-terms, with knowledge of his or her Copyright and Related Rights in the
-Work and the meaning and intended legal effect of CC0 on those rights.
-
-1. Copyright and Related Rights. A Work made available under CC0 may be
-protected by copyright and related or neighboring rights ("Copyright and
-Related Rights"). Copyright and Related Rights include, but are not
-limited to, the following:
-
- i. the right to reproduce, adapt, distribute, perform, display,
- communicate, and translate a Work;
- ii. moral rights retained by the original author(s) and/or performer(s);
-iii. publicity and privacy rights pertaining to a person's image or
- likeness depicted in a Work;
- iv. rights protecting against unfair competition in regards to a Work,
- subject to the limitations in paragraph 4(a), below;
- v. rights protecting the extraction, dissemination, use and reuse of data
- in a Work;
- vi. database rights (such as those arising under Directive 96/9/EC of the
- European Parliament and of the Council of 11 March 1996 on the legal
- protection of databases, and under any national implementation
- thereof, including any amended or successor version of such
- directive); and
-vii. other similar, equivalent or corresponding rights throughout the
- world based on applicable law or treaty, and any national
- implementations thereof.
-
-2. Waiver. To the greatest extent permitted by, but not in contravention
-of, applicable law, Affirmer hereby overtly, fully, permanently,
-irrevocably and unconditionally waives, abandons, and surrenders all of
-Affirmer's Copyright and Related Rights and associated claims and causes
-of action, whether now known or unknown (including existing as well as
-future claims and causes of action), in the Work (i) in all territories
-worldwide, (ii) for the maximum duration provided by applicable law or
-treaty (including future time extensions), (iii) in any current or future
-medium and for any number of copies, and (iv) for any purpose whatsoever,
-including without limitation commercial, advertising or promotional
-purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
-member of the public at large and to the detriment of Affirmer's heirs and
-successors, fully intending that such Waiver shall not be subject to
-revocation, rescission, cancellation, termination, or any other legal or
-equitable action to disrupt the quiet enjoyment of the Work by the public
-as contemplated by Affirmer's express Statement of Purpose.
-
-3. Public License Fallback. Should any part of the Waiver for any reason
-be judged legally invalid or ineffective under applicable law, then the
-Waiver shall be preserved to the maximum extent permitted taking into
-account Affirmer's express Statement of Purpose. In addition, to the
-extent the Waiver is so judged Affirmer hereby grants to each affected
-person a royalty-free, non transferable, non sublicensable, non exclusive,
-irrevocable and unconditional license to exercise Affirmer's Copyright and
-Related Rights in the Work (i) in all territories worldwide, (ii) for the
-maximum duration provided by applicable law or treaty (including future
-time extensions), (iii) in any current or future medium and for any number
-of copies, and (iv) for any purpose whatsoever, including without
-limitation commercial, advertising or promotional purposes (the
-"License"). The License shall be deemed effective as of the date CC0 was
-applied by Affirmer to the Work. Should any part of the License for any
-reason be judged legally invalid or ineffective under applicable law, such
-partial invalidity or ineffectiveness shall not invalidate the remainder
-of the License, and in such case Affirmer hereby affirms that he or she
-will not (i) exercise any of his or her remaining Copyright and Related
-Rights in the Work or (ii) assert any associated claims and causes of
-action with respect to the Work, in either case contrary to Affirmer's
-express Statement of Purpose.
-
-4. Limitations and Disclaimers.
-
- a. No trademark or patent rights held by Affirmer are waived, abandoned,
- surrendered, licensed or otherwise affected by this document.
- b. Affirmer offers the Work as-is and makes no representations or
- warranties of any kind concerning the Work, express, implied,
- statutory or otherwise, including without limitation warranties of
- title, merchantability, fitness for a particular purpose, non
- infringement, or the absence of latent or other defects, accuracy, or
- the present or absence of errors, whether or not discoverable, all to
- the greatest extent permissible under applicable law.
- c. Affirmer disclaims responsibility for clearing rights of other persons
- that may apply to the Work or any use thereof, including without
- limitation any person's Copyright and Related Rights in the Work.
- Further, Affirmer disclaims responsibility for obtaining any necessary
- consents, permissions or other rights required for any use of the
- Work.
- d. Affirmer understands and acknowledges that Creative Commons is not a
- party to this document and has no duty or obligation with respect to
- this CC0 or use of the Work.
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+ HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+ i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+ v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+ surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+ warranties of any kind concerning the Work, express, implied,
+ statutory or otherwise, including without limitation warranties of
+ title, merchantability, fitness for a particular purpose, non
+ infringement, or the absence of latent or other defects, accuracy, or
+ the present or absence of errors, whether or not discoverable, all to
+ the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+ that may apply to the Work or any use thereof, including without
+ limitation any person's Copyright and Related Rights in the Work.
+ Further, Affirmer disclaims responsibility for obtaining any necessary
+ consents, permissions or other rights required for any use of the
+ Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+ party to this document and has no duty or obligation with respect to
+ this CC0 or use of the Work.
diff --git a/README.md b/README.md
index c7994c3..a6f5341 100644
--- a/README.md
+++ b/README.md
@@ -1,38 +1,38 @@
-[](https://github.com/njitacm/jerseyctf-registration-site/actions/workflows/go.yml)
-# jerseyctf-website
-
-
-NJIT ACM's website for registration and information on the JerseyCTF event. ([jerseyctf.com](https://jerseyctf.com/))
-
-
-
-
-
-
-
-## Technical Details
-* A dynamic site that uses HTML templates, from the **`go`** standard library
-* The back-end (web server) is written in **golang-go**
-* The front-end is written using **Bootstrapv5**
-
-## Usage
-```bash
-# To test JCTF site locally
-# Required: go (golang)
-# Optional: make
-$ git clone https://github.com/jerseyctf/jerseyctf-website.git
-$ cd jerseyctf-website/src
-$ go build main.go
-# Optionally: use `make`
------
-Running:
-# If MacOS / Linux:
-$ ./main
-# If Windows:
-$ ./main.exe
-- Go to http://localhost:9990
-```
-
-## Purpose
-* Made to be deployed onto a Droplet (cloud server on DigitalOcean) easily
-* Check '[How To Deploy a Go Web Application Using Nginx on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu-18-04)' for further instructions on deploying the site to web.
+[](https://github.com/njitacm/jerseyctf-registration-site/actions/workflows/go.yml)
+# jerseyctf-website
+
+
+NJIT ACM's website for registration and information on the JerseyCTF event. ([jerseyctf.com](https://jerseyctf.com/))
+
+
+
+
+
+
+
+## Technical Details
+* A dynamic site that uses HTML templates, from the **`go`** standard library
+* The back-end (web server) is written in **golang-go**
+* The front-end is written using **Bootstrapv5**
+
+## Usage
+```bash
+# To test JCTF site locally
+# Required: go (golang)
+# Optional: make
+$ git clone https://github.com/jerseyctf/jerseyctf-website.git
+$ cd jerseyctf-website/src
+$ go build main.go
+# Optionally: use `make`
+-----
+Running:
+# If MacOS / Linux:
+$ ./main
+# If Windows:
+$ ./main.exe
+- Go to http://localhost:9990
+```
+
+## Purpose
+* Made to be deployed onto a Droplet (cloud server on DigitalOcean) easily
+* Check '[How To Deploy a Go Web Application Using Nginx on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu-18-04)' for further instructions on deploying the site to web.
diff --git a/infra/README.md b/infra/README.md
index 0d63958..ba89d24 100644
--- a/infra/README.md
+++ b/infra/README.md
@@ -1,15 +1,15 @@
-# Infrastructure Configurations
-
-## File, Description and Location
-| File | Description | Location (Subject to change)
-| :--: | :---------: | :-------
-| nginx.conf | Default Nginx configuration | `/etc/nginx/sites-available/jerseyctf.com`
-| goweb.conf | Goweb Service Configuration | `/lib/systemd/system/goweb.service`
-
-
-## Other Technical Details
-- Ensure that `/etc/nginx/sites-available/` has a symbolic link to `/etc/nginx/sites-enabled/`
-
-
-## Reference
+# Infrastructure Configurations
+
+## File, Description and Location
+| File | Description | Location (Subject to change)
+| :--: | :---------: | :-------
+| nginx.conf | Default Nginx configuration | `/etc/nginx/sites-available/jerseyctf.com`
+| goweb.conf | Goweb Service Configuration | `/lib/systemd/system/goweb.service`
+
+
+## Other Technical Details
+- Ensure that `/etc/nginx/sites-available/` has a symbolic link to `/etc/nginx/sites-enabled/`
+
+
+## Reference
- Check '[How To Deploy a Go Web Application Using Nginx on Ubuntu 18.04](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu-18-04)' to ensure steps are done properly with the golang-go program.
\ No newline at end of file
diff --git a/infra/goweb.conf b/infra/goweb.conf
index 491f783..dd73f9a 100644
--- a/infra/goweb.conf
+++ b/infra/goweb.conf
@@ -1,12 +1,12 @@
-[Unit]
-Description=goweb
-
-[Service]
-User=
-WorkingDirectory=/home//jerseyctf-website/src
-Restart=always
-RestartSec=5s
-ExecStart=/home//jerseyctf-website/src/main
-
-[Install]
+[Unit]
+Description=goweb
+
+[Service]
+User=
+WorkingDirectory=/home//jerseyctf-website/src
+Restart=always
+RestartSec=5s
+ExecStart=/home//jerseyctf-website/src/main
+
+[Install]
WantedBy=multi-user.target
\ No newline at end of file
diff --git a/infra/nginx.conf b/infra/nginx.conf
index a6e3e63..7230c14 100644
--- a/infra/nginx.conf
+++ b/infra/nginx.conf
@@ -1,8 +1,8 @@
-server {
- server_name jerseyctf.com www.jerseyctf.com;
-
- location / {
- proxy_pass http://localhost:9990;
- }
-
+server {
+ server_name jerseyctf.com www.jerseyctf.com;
+
+ location / {
+ proxy_pass http://localhost:9990;
+ }
+
}
\ No newline at end of file
diff --git a/src/Dockerfile b/src/Dockerfile
index 48145b8..cdb80d8 100644
--- a/src/Dockerfile
+++ b/src/Dockerfile
@@ -1,4 +1,4 @@
-# Create Dockerfile
-
-# TODO:
+# Create Dockerfile
+
+# TODO:
# Containerize with Docker
\ No newline at end of file
diff --git a/src/Makefile b/src/Makefile
index 195d8ed..f1c29c1 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,21 +1,21 @@
-SHELL=/bin/bash
-
-all = compile
-
-# compile -> Build Go Executable
-compile: clean
- @go build main.go
-
-clean:
-# Linux / MacOS
-ifneq (,$(wildcard ./main))
- @rm ./main
-endif
-# Windows
-ifneq (,$(wildcard ./main.exe))
- @rm ./main.exe
-endif
-# Idk when it will show up but
-ifneq (, $(wildcard ./a.out))
- @rm ./a.out
+SHELL=/bin/bash
+
+all = compile
+
+# compile -> Build Go Executable
+compile: clean
+ @go build main.go
+
+clean:
+# Linux / MacOS
+ifneq (,$(wildcard ./main))
+ @rm ./main
+endif
+# Windows
+ifneq (,$(wildcard ./main.exe))
+ @rm ./main.exe
+endif
+# Idk when it will show up but
+ifneq (, $(wildcard ./a.out))
+ @rm ./a.out
endif
\ No newline at end of file
diff --git a/src/css/custom.css b/src/css/custom.css
index 9f52169..58800e4 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -1,3 +1,92 @@
+<<<<<<< HEAD
+.jerctf {
+ padding: 15px;
+ background-color: #2c2c2c;
+ color: #fd0000;
+}
+
+.title-info{
+ color: white;
+}
+.footnote-info{
+ color:white;
+ margin-top: -10px;
+ font-size: 75%;
+ margin-left: 15%;
+}
+.registText{
+ margin: 10px 0px 20px 0px;
+ text-align: center;
+}
+/* Sponsor Section */
+.sponsec {
+ margin-top: 1%;
+ margin-bottom: 1%;
+}
+
+[class*="sponsor-"] {
+ font-size: xx-large;
+ text-align: center;
+ font-weight: bold;
+}
+
+.sponsor-title { background-color: #b9f2ff; }
+.sponsor-ciso { background-color: #f5de33; }
+.sponsor-manager { background-color: #b9c1c9; }
+.sponsor-analyst { background-color: #bd9939; }
+
+.centralize{
+ margin: auto;
+ display: block;
+}
+
+/* FAQ Section */
+.faq-question {
+ color: #c91d05;
+}
+
+/* Footer Section */
+.foots {
+ padding-top: 1.5rem;
+ padding-bottom: 1rem;
+ background-color: #2c2c2c;
+ color: #ffffff;
+ text-align: center;
+}
+
+.foots-img {
+ padding: 8px 15px 5px 15px;
+ height: 70px;
+}
+
+.sched{
+ justify-content: center;
+ margin-bottom:10px;
+}
+
+li{
+ margin: .5% 0 .5% 5%;
+}
+
+.resourceImg{
+ height: 75px;
+}
+
+.centered {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+[id='Code of Conduct'] > p,
+[id='Privacy Policy'] > p{
+ padding: .5% 4% .5% 4%;
+}
+
+[id='Code of Conduct'] > h3,
+[id='Privacy Policy'] > h3{
+ font-weight: bold;
+}
+=======
.jerctf {
padding: 15px;
background-color: #2c2c2c;
@@ -85,3 +174,4 @@ li{
[id='Privacy Policy'] > h3{
font-weight: bold;
}
+>>>>>>> dadbb8e970c163deaec425369474779ebd3f1ab8
diff --git a/src/lib/faq.go b/src/lib/faq.go
index c36d65f..b736284 100644
--- a/src/lib/faq.go
+++ b/src/lib/faq.go
@@ -1,44 +1,44 @@
-package lib
-
-type Faq struct {
- Question string
- Answer string
-}
-
-func GetFaq() []Faq {
-
- return []Faq{
- {
- Question: "What is JerseyCTF?",
- Answer: "JerseyCTF is a beginner-friendly Capture the Flag competition that aims to inspire interest in cybersecurity. Hosted by the NJIT ACM and NICC organizations and the NJIT SCI program, it is geared towards students, beginners, and professionals alike. JerseyCTF provides participants with jeopardy-style questions in categories including cryptography, forensics, binary exploitation/reversing, open-source intelligence, and web exploitation. JerseyCTF features a track parallel to the CTF competition, consisting of presentations and panels with renowned speakers from industry and government.",
- },
- {
- Question: "Who can sign up to compete?",
- Answer: "Students, beginners, and professionals are all welcome to compete. Must be 18+ to attend in-person.",
- },
- {
- Question: "What do I need to compete?",
- Answer: "All you need is an Internet-connected device in order to compete and watch our tech talks. While optional, it is recommended for you to use penetration testing Linux distributions like Kali or Parrot OS because the many pre-installed tools will help you. These distributions are free, open-source, and can be deployed in VMware, VirtualBox, or any other virtualization software. Check out our beginner resources page for more recommendations. ",
- },
- {
- Question: "Will there be prizes?",
- Answer: "Yes! There are 2 leaderboard divisions: Student and Open. Prizes will be awarded in both divisions for top scoring teams and participants residing in the United States will receive a complimentary JerseyCTF t-shirt.",
- },
- {
- Question: "How big is JerseyCTF?",
- Answer: "JerseyCTF had 1,515 registrations in 2023. We are looking forward to welcoming more registrants and participants in 2024!",
- },
- {
- Question: "Do I have to pay to compete in JerseyCTF?",
- Answer: "Nope, there's no fee to sign up or to attend!",
- },
- {
- Question: "Do I have to register as a team?",
- Answer: "No! You're welcome to register with your friends and compete with a team of up to 4 people, but you can also register by yourself or find a team in the Discord server.",
- },
- {
- Question: "You guys haven't answered my question!",
- Answer: "Feel free to email us any additional questions and concerns at jerseyctf@njit.edu",
- },
- }
-}
+package lib
+
+type Faq struct {
+ Question string
+ Answer string
+}
+
+func GetFaq() []Faq {
+
+ return []Faq{
+ {
+ Question: "What is JerseyCTF?",
+ Answer: "JerseyCTF is a beginner-friendly Capture the Flag competition that aims to inspire interest in cybersecurity. Hosted by the NJIT ACM and NICC organizations and the NJIT SCI program, it is geared towards students, beginners, and professionals alike. JerseyCTF provides participants with jeopardy-style questions in categories including cryptography, forensics, binary exploitation/reversing, open-source intelligence, and web exploitation. JerseyCTF features a track parallel to the CTF competition, consisting of presentations and panels with renowned speakers from industry and government.",
+ },
+ {
+ Question: "Who can sign up to compete?",
+ Answer: "Students, beginners, and professionals are all welcome to compete. Must be 18+ to attend in-person.",
+ },
+ {
+ Question: "What do I need to compete?",
+ Answer: "All you need is an Internet-connected device in order to compete and watch our tech talks. While optional, it is recommended for you to use penetration testing Linux distributions like Kali or Parrot OS because the many pre-installed tools will help you. These distributions are free, open-source, and can be deployed in VMware, VirtualBox, or any other virtualization software. Check out our beginner resources page for more recommendations. ",
+ },
+ {
+ Question: "Will there be prizes?",
+ Answer: "Yes! There are 2 leaderboard divisions: Student and Open. Prizes will be awarded in both divisions for top scoring teams and participants residing in the United States will receive a complimentary JerseyCTF t-shirt.",
+ },
+ {
+ Question: "How big is JerseyCTF?",
+ Answer: "JerseyCTF had 1,515 registrations in 2023. We are looking forward to welcoming more registrants and participants in 2024!",
+ },
+ {
+ Question: "Do I have to pay to compete in JerseyCTF?",
+ Answer: "Nope, there's no fee to sign up or to attend!",
+ },
+ {
+ Question: "Do I have to register as a team?",
+ Answer: "No! You're welcome to register with your friends and compete with a team of up to 4 people, but you can also register by yourself or find a team in the Discord server.",
+ },
+ {
+ Question: "You guys haven't answered my question!",
+ Answer: "Feel free to email us any additional questions and concerns at jerseyctf@njit.edu",
+ },
+ }
+}
diff --git a/src/lib/recognitions.go b/src/lib/recognitions.go
index 3d1d8bf..ecfab11 100644
--- a/src/lib/recognitions.go
+++ b/src/lib/recognitions.go
@@ -1,74 +1,74 @@
-package lib
-
-import (
- "net/http"
- "text/template"
-)
-
-type Instit struct {
- Name string
- People []string
-}
-
-
-func GetRecognizedPeople() []Instit {
- return []Instit{
- {
- Name:"NJIT YWCC Administration and Students",
- People:[]string{"Dina","Andres", "Tensei", "Robert", "Nishaant", "Andrew", "George", "Keith", "Sreya"," SCI Principal Investigators", "Logan", "David", "Christian", "Cade", "Alexander", "Massa", "Joseph", "Ethan", "Anthony" },
- },
- {
- Name:"NJCCIC Engineers and Interns",
- People: []string{"Rob", "Mandy", "Kevin", "Penelope", "Edward"},
- },
- {
- Name:"RUSEC Members",
- People: []string{"Rajat", "Philip", "Yousef"},
- },
- {
- Name:"FRSecure Engineers",
- People: []string{"Eric", "Matt"},
- },
- }
-}
-
-// Handles the Recognition Tab and Writes to Website
-func Recognition(w http.ResponseWriter, tpl *template.Template) {
- recognitions := GetRecognizedPeople()
-
- tpl.ExecuteTemplate(w, "recognition-start", nil)
-
- var iter int8
-
- for idx, person := range recognitions {
-
- iter++
-
- j := idx + 1
- if j%4 == 1 {
- tpl.ExecuteTemplate(w, "recognition-card-group-start", nil)
- }
- tpl.ExecuteTemplate(w, "recognition-card", person)
-
- if len(person.People) <10 {
- tpl.ExecuteTemplate(w, "recognition-person-list", person)
- } else{
- per1:=person
- per2:=person
- per1.People=per1.People[:10]
- per2.People=per2.People[10:]
- tpl.ExecuteTemplate(w, "recognition-person-list", per1)
- tpl.ExecuteTemplate(w, "recognition-person-list", per2)
- }
- for i:=0;i<3;i++ {
- tpl.ExecuteTemplate(w, "recognition-div-end", nil)
- }
-
- if iter%4 == 0 {
- tpl.ExecuteTemplate(w, "recognition-div-end", nil)
- }
- }
-
- tpl.ExecuteTemplate(w, "recognition-div-end", nil)
-
-}
+package lib
+
+import (
+ "net/http"
+ "text/template"
+)
+
+type Instit struct {
+ Name string
+ People []string
+}
+
+
+func GetRecognizedPeople() []Instit {
+ return []Instit{
+ {
+ Name:"NJIT YWCC Administration and Students",
+ People:[]string{"Dina","Andres", "Tensei", "Robert", "Nishaant", "Andrew", "George", "Keith", "Sreya"," SCI Principal Investigators", "Logan", "David", "Christian", "Cade", "Alexander", "Massa", "Joseph", "Ethan", "Anthony" },
+ },
+ {
+ Name:"NJCCIC Engineers and Interns",
+ People: []string{"Rob", "Mandy", "Kevin", "Penelope", "Edward"},
+ },
+ {
+ Name:"RUSEC Members",
+ People: []string{"Rajat", "Philip", "Yousef"},
+ },
+ {
+ Name:"FRSecure Engineers",
+ People: []string{"Eric", "Matt"},
+ },
+ }
+}
+
+// Handles the Recognition Tab and Writes to Website
+func Recognition(w http.ResponseWriter, tpl *template.Template) {
+ recognitions := GetRecognizedPeople()
+
+ tpl.ExecuteTemplate(w, "recognition-start", nil)
+
+ var iter int8
+
+ for idx, person := range recognitions {
+
+ iter++
+
+ j := idx + 1
+ if j%4 == 1 {
+ tpl.ExecuteTemplate(w, "recognition-card-group-start", nil)
+ }
+ tpl.ExecuteTemplate(w, "recognition-card", person)
+
+ if len(person.People) <10 {
+ tpl.ExecuteTemplate(w, "recognition-person-list", person)
+ } else{
+ per1:=person
+ per2:=person
+ per1.People=per1.People[:10]
+ per2.People=per2.People[10:]
+ tpl.ExecuteTemplate(w, "recognition-person-list", per1)
+ tpl.ExecuteTemplate(w, "recognition-person-list", per2)
+ }
+ for i:=0;i<3;i++ {
+ tpl.ExecuteTemplate(w, "recognition-div-end", nil)
+ }
+
+ if iter%4 == 0 {
+ tpl.ExecuteTemplate(w, "recognition-div-end", nil)
+ }
+ }
+
+ tpl.ExecuteTemplate(w, "recognition-div-end", nil)
+
+}
diff --git a/src/lib/resources.go b/src/lib/resources.go
index 4608445..7aae9f4 100644
--- a/src/lib/resources.go
+++ b/src/lib/resources.go
@@ -1,29 +1,29 @@
-package lib
-
-type Resource struct {
- Year string
- Writeups string
- Playlist string
-}
-
-
-// Returns an Array of Writeups for usage throughout program
-func GetResources() []Resource {
- return []Resource{
- {
- Year: "2021",
- Writeups: " https://github.com/njitacm/jerseyctf-2021-challenges/tree/main/writeups",
- Playlist: "https://www.youtube.com/playlist?list=PLrcTWWy-esnDYt1niwIETam5s-nljoeD9",
- },
- {
- Year: "2022",
- Writeups: "https://github.com/njitacm/jerseyctf-2022-challenges/tree/main/writeups",
- Playlist: "https://youtube.com/playlist?list=PLrcTWWy-esnCuaiEMSj6Bst4phnq-Qg6B",
- },
- {
- Year:"2023",
- Writeups: "https://ctftime.org/event/1908/tasks/",
- Playlist: "https://www.youtube.com/playlist?list=PLrcTWWy-esnDXi3khogdlAgkisL19IM08",
- },
- }
-}
+package lib
+
+type Resource struct {
+ Year string
+ Writeups string
+ Playlist string
+}
+
+
+// Returns an Array of Writeups for usage throughout program
+func GetResources() []Resource {
+ return []Resource{
+ {
+ Year: "2021",
+ Writeups: " https://github.com/njitacm/jerseyctf-2021-challenges/tree/main/writeups",
+ Playlist: "https://www.youtube.com/playlist?list=PLrcTWWy-esnDYt1niwIETam5s-nljoeD9",
+ },
+ {
+ Year: "2022",
+ Writeups: "https://github.com/njitacm/jerseyctf-2022-challenges/tree/main/writeups",
+ Playlist: "https://youtube.com/playlist?list=PLrcTWWy-esnCuaiEMSj6Bst4phnq-Qg6B",
+ },
+ {
+ Year:"2023",
+ Writeups: "https://ctftime.org/event/1908/tasks/",
+ Playlist: "https://www.youtube.com/playlist?list=PLrcTWWy-esnDXi3khogdlAgkisL19IM08",
+ },
+ }
+}
diff --git a/src/lib/speakers.go b/src/lib/speakers.go
index 816661e..9dcedc3 100644
--- a/src/lib/speakers.go
+++ b/src/lib/speakers.go
@@ -1,3 +1,125 @@
+<<<<<<< HEAD
+package lib
+
+import (
+ "net/http"
+ "text/template"
+)
+
+// Segment Number refers to how one wishes to break down
+// cards
+const (
+ SEGMENT_NUM = 1
+)
+
+type SpeakerStruct struct {
+ Pic string
+ Name string
+ Position string
+ Talk string
+ Time string
+}
+
+// Copy and Paste Add
+// {
+// Pic: "",
+// Name: "",
+// Position: "",
+// Role: "",
+// LinkedIn: "",
+// },
+
+func GetSpeakers() []SpeakerStruct {
+ return []SpeakerStruct{
+ {},
+ /*
+ {
+ Pic: "JohnHammond.png",
+ Name: "John Hammond",
+ Position: "Cybersecurity Researcher, Educator & Content Creator",
+ Talk: "Cybersecurity Shop Talk",
+ Time: "",
+ },
+ {
+ Pic: "CelinePedalino.jpg",
+ Name: "Celine Pedalino",
+ Position: "SOC Analyst at the NJCCIC",
+ Talk: "Behind the Scenes of Cyber Defense: A Look into the SOC",
+ Time: "",
+ },
+ {
+ Pic: "SeonukKim.jpg",
+ Name: "Seonuk Kim",
+ Position: "SOC Analyst at the NJCCIC",
+ Talk: "Behind the Scenes of Cyber Defense: A Look into the SOC",
+ Time: "",
+ },
+ {
+ Pic: "TrentMeyers.jpg",
+ Name: "Trent Meyers",
+ Position: "SOC Analyst at the NJCCIC",
+ Talk: "Behind the Scenes of Cyber Defense: A Look into the SOC",
+ Time: "",
+ },
+ {
+ Pic: "SwathiParthibha.jpg",
+ Name: "Swathi Parthibha",
+ Position: "Security Analyst at the NJCCIC",
+ Talk: "Behind the Scenes of Cyber Defense: A Look into the SOC",
+ Time: "",
+ },
+ {
+ Pic: "personPlaceholder.png",
+ Name: "Andrew Garcia",
+ Position: "Security Analyst at the NJCCIC",
+ Talk: "Two-Factor Authentication: Not as Secure as You Think",
+ Time: "",
+ },
+ {
+ Pic: "IlanPonimansky.jpg",
+ Name: "Ilan Ponimansky",
+ Position: "Staff Cloud Security Engineer at Block",
+ Talk: "Acing your Cloud Security Interviews AMA",
+ Time: "",
+ },
+ {
+ Pic: "personPlaceholder.png",
+ Name: "Kevin Conklin",
+ Position: "Cyber National Security Supervisory Special Agent at FBI Newark",
+ Talk: "Inside the FBI Cyber Program",
+ Time: "",
+ },
+ */
+ }
+}
+
+// --------------------------------------------
+
+// 1- 5 inclusive
+// All on the same line
+// 6 - 12 inclusive
+// Being equal or bottom line has more than top line
+// >12
+// More Dynamic Grid like in Recognitions
+
+// Handles Speaker Tab and writes to website
+func Speaker(w http.ResponseWriter, tpl *template.Template) {
+ speakers := GetSpeakers()
+
+ tpl.ExecuteTemplate(w, "speaker-start", nil)
+
+ tpl.ExecuteTemplate(w, "speaker-card-group-start", nil)
+
+ for _, speaker := range speakers {
+ tpl.ExecuteTemplate(w, "speaker-card", speaker)
+ }
+
+ tpl.ExecuteTemplate(w, "speaker-div-end", nil)
+
+ tpl.ExecuteTemplate(w, "speaker-div-end", nil)
+
+}
+=======
package lib
import (
@@ -118,3 +240,4 @@ func Speaker(w http.ResponseWriter, tpl *template.Template) {
tpl.ExecuteTemplate(w, "speaker-div-end", nil)
}
+>>>>>>> dadbb8e970c163deaec425369474779ebd3f1ab8
diff --git a/src/lib/sponsors.go b/src/lib/sponsors.go
index 5cc1da5..635ebc3 100644
--- a/src/lib/sponsors.go
+++ b/src/lib/sponsors.go
@@ -1,3 +1,101 @@
+<<<<<<< HEAD
+package lib
+
+type Tier struct {
+ Spons []Sponsor
+ TierName string
+ CSSName string
+}
+
+type Sponsor struct {
+ HREF string
+ Source string
+ ALT string
+ Width string
+}
+
+type Sponsors struct {
+ AllTiers []Tier
+}
+
+func GetSponsors() Sponsors {
+ title := []Sponsor{
+ {
+ HREF: "https://www.cyber.nj.gov/",
+ Source: "NJCCIC_logo.png",
+ ALT: "NJCCIC",
+ Width: "200",
+ },
+ }
+
+ ciso := []Sponsor{}
+
+ manager := []Sponsor{}
+
+ analyst := []Sponsor{
+ /*
+ {
+ HREF: "https://www.paloaltonetworks.com/",
+ Source: "palo_alto_logo.png",
+ ALT: "Palo Alto",
+ Width: "400",
+ },
+ {
+ HREF: "https://cloud.google.com/",
+ Source: "google_logo.gif",
+ ALT: "Google",
+ Width: "200",
+ },
+ {
+ HREF: "https://www.github.com/",
+ Source: "github_logo.png",
+ ALT: "GitHub",
+ Width: "150",
+ },
+ {
+ HREF: "https://www.offsec.com/",
+ Source: "offsec_logo.jpg",
+ ALT: "OffSec",
+ Width: "400",
+ },
+ {
+ HREF: "https://www.specterops.io",
+ Source: "specterops_logo.png",
+ ALT: "SpecterOps",
+ Width: "400",
+ },
+ */
+ }
+
+ tiers := []Tier{
+ {
+ Spons: title,
+ TierName: "Title Sponsor",
+ CSSName: "sponsor-title",
+ },
+
+ {
+ Spons: ciso,
+ TierName: "CISO Sponsor",
+ CSSName: "sponsor-ciso",
+ },
+ {
+ Spons: manager,
+ TierName: "Security Manager Sponsor",
+ CSSName: "sponsor-manager",
+ },
+ {
+ Spons: analyst,
+ TierName: "Security Analyst Sponsor",
+ CSSName: "sponsor-analyst",
+ },
+ }
+
+ return Sponsors{
+ AllTiers: tiers,
+ }
+}
+=======
package lib
type Tier struct {
@@ -94,3 +192,4 @@ func GetSponsors() Sponsors {
AllTiers: tiers,
}
}
+>>>>>>> dadbb8e970c163deaec425369474779ebd3f1ab8
diff --git a/src/main.go b/src/main.go
index 1626a25..663b1aa 100644
--- a/src/main.go
+++ b/src/main.go
@@ -1,89 +1,89 @@
-package main
-
-import (
- "fmt"
- "log"
- "net/http"
- "strconv"
- "text/template"
- L "github.com/njitacm/jerseyctf-website/src/lib" //Not the current Repo, but everything works, look into if changes should be made
-)
-
-// CONSTANT
-const PORT = 9990
-
-func index(w http.ResponseWriter, r *http.Request) {
- // This ensures that all *.html within the templates/ dir and their
- // specific template are received before called
- tmpl := template.Must(template.ParseGlob("templates/*.html"))
-
- tmpl.ExecuteTemplate(w, "header", nil)
-
- //The sections that load are based off of what strings are in this list
- navBar := []string{ "Schedule","Speakers","Sponsors","FAQ","Resources"} // "Registration","Schedule","Speakers","Sponsors","Recognitions","FAQ","Resources"
- tmpl.ExecuteTemplate(w, "navNBody", navBar)
-
- tmpl.ExecuteTemplate(w, "infographic", nil)
-
- for _, value := range navBar {
- switch value {
- case "Registration":
- tmpl.ExecuteTemplate(w, "registration", nil)
-
- case "Schedule":
- tmpl.ExecuteTemplate(w, "schedule", nil)
-
- case "Speakers":
- L.Speaker(w, tmpl)
-
- case "Sponsors":
- sponsors := L.GetSponsors()
- tmpl.ExecuteTemplate(w, "sponsors", sponsors)
-
- case "FAQ":
- faq := L.GetFaq()
- tmpl.ExecuteTemplate(w, "faq", faq)
-
- case "Recognitions":
- L.Recognition(w, tmpl)
-
- case "Resources":
- resources := L.GetResources()
- tmpl.ExecuteTemplate(w, "resources", resources)
- }
- }
- tmpl.ExecuteTemplate(w, "footer", nil)
-
-}
-
-func ccpp(w http.ResponseWriter, r *http.Request) {
- tmpl := template.Must(template.ParseGlob("templates/*.html"))
-
- tmpl.ExecuteTemplate(w, "header", nil)
-
- navBar := []string{"Code of Conduct", "Privacy Policy"}
- tmpl.ExecuteTemplate(w, "navNBody", navBar)
-
- tmpl.ExecuteTemplate(w, "code-of-conduct", nil)
-
- tmpl.ExecuteTemplate(w, "privacy-policy", nil)
-
- tmpl.ExecuteTemplate(w, "footer", nil)
-}
-
-func main() {
- port := strconv.Itoa(PORT)
-
- fmt.Printf("Starting server on http://localhost:%s\n", port)
-
- // Web Server starts at this directory
- fs := http.FileServer(http.Dir("."))
-
- // Puts everything from File Server into a /assets/ directory
- http.Handle("/assets/", http.StripPrefix("/assets", fs))
-
- http.HandleFunc("/", index)
- http.HandleFunc("/ccpp", ccpp)
-
- log.Fatal(http.ListenAndServe(":"+port, nil))
-}
+package main
+
+import (
+ "fmt"
+ "log"
+ "net/http"
+ "strconv"
+ "text/template"
+ L "github.com/njitacm/jerseyctf-website/src/lib" //Not the current Repo, but everything works, look into if changes should be made
+)
+
+// CONSTANT
+const PORT = 9990
+
+func index(w http.ResponseWriter, r *http.Request) {
+ // This ensures that all *.html within the templates/ dir and their
+ // specific template are received before called
+ tmpl := template.Must(template.ParseGlob("templates/*.html"))
+
+ tmpl.ExecuteTemplate(w, "header", nil)
+
+ //The sections that load are based off of what strings are in this list
+ navBar := []string{ "Schedule","Speakers","Sponsors","FAQ","Resources"} // "Registration","Schedule","Speakers","Sponsors","Recognitions","FAQ","Resources"
+ tmpl.ExecuteTemplate(w, "navNBody", navBar)
+
+ tmpl.ExecuteTemplate(w, "infographic", nil)
+
+ for _, value := range navBar {
+ switch value {
+ case "Registration":
+ tmpl.ExecuteTemplate(w, "registration", nil)
+
+ case "Schedule":
+ tmpl.ExecuteTemplate(w, "schedule", nil)
+
+ case "Speakers":
+ L.Speaker(w, tmpl)
+
+ case "Sponsors":
+ sponsors := L.GetSponsors()
+ tmpl.ExecuteTemplate(w, "sponsors", sponsors)
+
+ case "FAQ":
+ faq := L.GetFaq()
+ tmpl.ExecuteTemplate(w, "faq", faq)
+
+ case "Recognitions":
+ L.Recognition(w, tmpl)
+
+ case "Resources":
+ resources := L.GetResources()
+ tmpl.ExecuteTemplate(w, "resources", resources)
+ }
+ }
+ tmpl.ExecuteTemplate(w, "footer", nil)
+
+}
+
+func ccpp(w http.ResponseWriter, r *http.Request) {
+ tmpl := template.Must(template.ParseGlob("templates/*.html"))
+
+ tmpl.ExecuteTemplate(w, "header", nil)
+
+ navBar := []string{"Code of Conduct", "Privacy Policy"}
+ tmpl.ExecuteTemplate(w, "navNBody", navBar)
+
+ tmpl.ExecuteTemplate(w, "code-of-conduct", nil)
+
+ tmpl.ExecuteTemplate(w, "privacy-policy", nil)
+
+ tmpl.ExecuteTemplate(w, "footer", nil)
+}
+
+func main() {
+ port := strconv.Itoa(PORT)
+
+ fmt.Printf("Starting server on http://localhost:%s\n", port)
+
+ // Web Server starts at this directory
+ fs := http.FileServer(http.Dir("."))
+
+ // Puts everything from File Server into a /assets/ directory
+ http.Handle("/assets/", http.StripPrefix("/assets", fs))
+
+ http.HandleFunc("/", index)
+ http.HandleFunc("/ccpp", ccpp)
+
+ log.Fatal(http.ListenAndServe(":"+port, nil))
+}
diff --git a/src/templates/codeOfConduct.html b/src/templates/codeOfConduct.html
index 376fe85..249c5d8 100644
--- a/src/templates/codeOfConduct.html
+++ b/src/templates/codeOfConduct.html
@@ -1,53 +1,53 @@
-{{block "code-of-conduct" .}}
-
-
@codeofconduct
-
Expected Participant Behavior
-
-
Use common courtesy. If you are not sure whether or not you should post something, do not post it.
-
Show respect for other participants, specifically over communication channels like Discord.
-
Collaboration with your teammates.
-
Healthy competition between participants.
-
Responsible behavior that would be seen in a public setting, such as a school, in-person event, or
- professional work setting.
Specifically for Discord: Don't have or post racist, degrading, explicit, adult, or controversial usernames,
- messages, nicknames, profile pictures, or statuses. If you have to ask, it's probably not okay.
-
Don't spam. This includes posting off-topic or repetitive messages.
-
Posting any type of NSFW content, including but not limited to sharing inappropriate, violent, and
- disturbing pictures, videos, and audio.
-
Posting any type of personal, sensitive, or confidential information about anyone that is involved in the
- competition, without the individual's prior consent.
-
Participating in any type of discriminatory behavior towards race, color, religion, sexual orientation,
- national origin, disability, and gender.
-
Participating in any type of sexual harassment, cyberbullying, or demeaning conduct.
-
Cheating during the competition, including collaborating with other participants that are not a part of your
- team ranging from one to four people.
-
Threatening violence upon or intimidating other participants and JerseyCTF peers.
-
Disrupting speakers during competition tech talks, career talks, and demos.
-
Spreading malicious files to JerseyCTF participants, hosts, sponsors, and speakers with the intent to bring
- harm to systems or jeopardize the integrity of personal information/data.
-
Illegally attacking, exploiting, or hacking into JerseyCTF’s platforms and
- websites that allow for the competition to function to its greatest extent. This includes any host or
- sponsor platforms.
-
-
-
-
Please report any Code of Conduct violations or inappropriate behavior to the competition organizers
- or email jerseyctf@njit.edu before, during, or after the event. Any
- reports will remain confidential and will be handled at a professional standard. Failure to comply with the
- JerseyCTF Code of Conduct will result in disqualification from JerseyCTF and ban from the JerseyCTF Discord
- server. With JerseyCTF being a free competition, the hosting organizations reserve the right to disqualify
- and/or ban participants from the Discord server without prior notice or reason. Other actions from the hosting
- organizations include deleting messages from, muting, kicking, banning, or otherwise removing or modifying any
- member at any time at their own discretion. Any type of illegal behavior may result in the involvement of a
- higher authority.
-
-
-
+{{block "code-of-conduct" .}}
+
+
@codeofconduct
+
Expected Participant Behavior
+
+
Use common courtesy. If you are not sure whether or not you should post something, do not post it.
+
Show respect for other participants, specifically over communication channels like Discord.
+
Collaboration with your teammates.
+
Healthy competition between participants.
+
Responsible behavior that would be seen in a public setting, such as a school, in-person event, or
+ professional work setting.
Specifically for Discord: Don't have or post racist, degrading, explicit, adult, or controversial usernames,
+ messages, nicknames, profile pictures, or statuses. If you have to ask, it's probably not okay.
+
Don't spam. This includes posting off-topic or repetitive messages.
+
Posting any type of NSFW content, including but not limited to sharing inappropriate, violent, and
+ disturbing pictures, videos, and audio.
+
Posting any type of personal, sensitive, or confidential information about anyone that is involved in the
+ competition, without the individual's prior consent.
+
Participating in any type of discriminatory behavior towards race, color, religion, sexual orientation,
+ national origin, disability, and gender.
+
Participating in any type of sexual harassment, cyberbullying, or demeaning conduct.
+
Cheating during the competition, including collaborating with other participants that are not a part of your
+ team ranging from one to four people.
+
Threatening violence upon or intimidating other participants and JerseyCTF peers.
+
Disrupting speakers during competition tech talks, career talks, and demos.
+
Spreading malicious files to JerseyCTF participants, hosts, sponsors, and speakers with the intent to bring
+ harm to systems or jeopardize the integrity of personal information/data.
+
Illegally attacking, exploiting, or hacking into JerseyCTF’s platforms and
+ websites that allow for the competition to function to its greatest extent. This includes any host or
+ sponsor platforms.
+
+
+
+
Please report any Code of Conduct violations or inappropriate behavior to the competition organizers
+ or email jerseyctf@njit.edu before, during, or after the event. Any
+ reports will remain confidential and will be handled at a professional standard. Failure to comply with the
+ JerseyCTF Code of Conduct will result in disqualification from JerseyCTF and ban from the JerseyCTF Discord
+ server. With JerseyCTF being a free competition, the hosting organizations reserve the right to disqualify
+ and/or ban participants from the Discord server without prior notice or reason. Other actions from the hosting
+ organizations include deleting messages from, muting, kicking, banning, or otherwise removing or modifying any
+ member at any time at their own discretion. Any type of illegal behavior may result in the involvement of a
+ higher authority.
+
+
+
{{end}}
\ No newline at end of file
diff --git a/src/templates/faq.html b/src/templates/faq.html
index 6424742..65e8eb3 100644
--- a/src/templates/faq.html
+++ b/src/templates/faq.html
@@ -1,9 +1,9 @@
-{{block "faq" .}}
-
-
@faq
- {{range .}}
-
{{.Question}}
-
{{.Answer}}
- {{end}}
-
+{{block "faq" .}}
+
+
@faq
+ {{range .}}
+
{{.Question}}
+
{{.Answer}}
+ {{end}}
+
{{end}}
\ No newline at end of file
diff --git a/src/templates/infographic.html b/src/templates/infographic.html
index 08d96d4..5406835 100644
--- a/src/templates/infographic.html
+++ b/src/templates/infographic.html
@@ -1,3 +1,29 @@
+<<<<<<< HEAD
+{{block "infographic" .}}
+
+
+
+
+
+
+
+
+
The competition is being prepared. Get ready for JerseyCTF IV on March 23-24 (12:00 pm to 12:00 pm)
+
+
+
{{end}}
\ No newline at end of file
diff --git a/src/templates/privacyPolicy.html b/src/templates/privacyPolicy.html
index e7ceef3..23a7445 100644
--- a/src/templates/privacyPolicy.html
+++ b/src/templates/privacyPolicy.html
@@ -1,60 +1,60 @@
-{{block "privacy-policy" .}}
-
-
@privacypolicy
-
The Association for Computing Machinery Chapter at the New Jersey Institute of Technology (NJIT ACM)
- operates the https://jerseyctf.com website, which provides the SERVICE
- “JerseyCTF.”
-
This page is used to inform website visitors regarding our policies with the collection, use, and
- disclosure of Personal Information if anyone decided to use our Service, JerseyCTF.
-
If you choose to use our Service, then you agree to the collection and use of information in
- relation with this policy. The Personal Information that we collect is used for providing and improving the
- Service. We will not use or share your information with anyone except as described in this Privacy Policy.
-
Information Collection and Use
-
For a better experience while using our Service, we may require you to provide us with certain
- personally identifiable information, including but not limited to your name, email, gender, ethnicity, academic
- information, resume, merchandise size, and postal address. The information that we collect will be used to
- contact or identify you, in addition to shipment of merchandise based on eligibility requirements.
-
We may collect information from you when you register, check-in, and participate in the JerseyCTF
- competition.
-
Service Providers
-
We may employ third-party companies and individuals due to the following
- reasons:
-
-
To facilitate our Service;
-
To provide the Service on our behalf;
-
To sponsor the Service;
-
To perform Service-related services; or
-
To assist us in analyzing how our Service is used.
-
-
Eligible sponsors have access to the following participant information: names, resumes, email addresses, Discord
- information, and detailed competition results.
-
We want to inform our Service users that these third parties have access to this certain information. The reason
- is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the
- information for any other purpose.
-
Security and Liability
-
We value your trust in providing us your Personal Information, thus we are striving to use commercially
- acceptable means of protecting it. But remember that no method of transmission over the internet, or method of
- electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security. By registering
- for JerseyCTF, you agree to not claim losses or damages of any type against the entire NJIT ACM organization
- under any circumstance.
-
Links to Other Sites
-
Our Service may contain links to other sites, including but not limited to LinkedIn, Google services, Discord,
- and sponsor websites. If you click on a third-party link, you will be directed to that site. Note that these
- external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these
- websites. We have no control over, and assume no responsibility for the content, privacy policies, or practices
- of any third-party sites or services.
-
Minor's Privacy
-
Our Services do not allow anyone under the age of 18 to attend in-person. If you are a parent or guardian and you
- are aware that your child under 18 years old has provided us with personal information that you would like
- deleted, please contact us so that we will be able to do necessary actions to delete the information from our
- databases.
-
Changes to This Privacy Policy
-
We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any
- changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are
- effective immediately, after they are posted on this page.
-
Contact Us
-
If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at jerseyctf@njit.edu.
-
-
+{{block "privacy-policy" .}}
+
+
@privacypolicy
+
The Association for Computing Machinery Chapter at the New Jersey Institute of Technology (NJIT ACM)
+ operates the https://jerseyctf.com website, which provides the SERVICE
+ “JerseyCTF.”
+
This page is used to inform website visitors regarding our policies with the collection, use, and
+ disclosure of Personal Information if anyone decided to use our Service, JerseyCTF.
+
If you choose to use our Service, then you agree to the collection and use of information in
+ relation with this policy. The Personal Information that we collect is used for providing and improving the
+ Service. We will not use or share your information with anyone except as described in this Privacy Policy.
+
Information Collection and Use
+
For a better experience while using our Service, we may require you to provide us with certain
+ personally identifiable information, including but not limited to your name, email, gender, ethnicity, academic
+ information, resume, merchandise size, and postal address. The information that we collect will be used to
+ contact or identify you, in addition to shipment of merchandise based on eligibility requirements.
+
We may collect information from you when you register, check-in, and participate in the JerseyCTF
+ competition.
+
Service Providers
+
We may employ third-party companies and individuals due to the following
+ reasons:
+
+
To facilitate our Service;
+
To provide the Service on our behalf;
+
To sponsor the Service;
+
To perform Service-related services; or
+
To assist us in analyzing how our Service is used.
+
+
Eligible sponsors have access to the following participant information: names, resumes, email addresses, Discord
+ information, and detailed competition results.
+
We want to inform our Service users that these third parties have access to this certain information. The reason
+ is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the
+ information for any other purpose.
+
Security and Liability
+
We value your trust in providing us your Personal Information, thus we are striving to use commercially
+ acceptable means of protecting it. But remember that no method of transmission over the internet, or method of
+ electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security. By registering
+ for JerseyCTF, you agree to not claim losses or damages of any type against the entire NJIT ACM organization
+ under any circumstance.
+
Links to Other Sites
+
Our Service may contain links to other sites, including but not limited to LinkedIn, Google services, Discord,
+ and sponsor websites. If you click on a third-party link, you will be directed to that site. Note that these
+ external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these
+ websites. We have no control over, and assume no responsibility for the content, privacy policies, or practices
+ of any third-party sites or services.
+
Minor's Privacy
+
Our Services do not allow anyone under the age of 18 to attend in-person. If you are a parent or guardian and you
+ are aware that your child under 18 years old has provided us with personal information that you would like
+ deleted, please contact us so that we will be able to do necessary actions to delete the information from our
+ databases.
+
Changes to This Privacy Policy
+
We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any
+ changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are
+ effective immediately, after they are posted on this page.
+
Contact Us
+
If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us at jerseyctf@njit.edu.
+
+
{{end}}
\ No newline at end of file
diff --git a/src/templates/recognitions.html b/src/templates/recognitions.html
index 5b8ec67..ce5ffaf 100644
--- a/src/templates/recognitions.html
+++ b/src/templates/recognitions.html
@@ -1,32 +1,32 @@
-{{block "recognition-start" .}}
-
{{end}}
\ No newline at end of file
diff --git a/src/templates/schedule.html b/src/templates/schedule.html
index 43b0008..1e24f0b 100644
--- a/src/templates/schedule.html
+++ b/src/templates/schedule.html
@@ -1,3 +1,16 @@
+<<<<<<< HEAD
+{{block "schedule" .}}
+
+
@schedule
+
+
Event Schedule Coming Soon
+
+
+
+
+=======
{{block "schedule" .}}
@schedule
@@ -9,4 +22,5 @@
Event Schedule Coming Soon-->
+>>>>>>> dadbb8e970c163deaec425369474779ebd3f1ab8
{{end}}
\ No newline at end of file
diff --git a/src/templates/speakers.html b/src/templates/speakers.html
index de872e4..5741a40 100644
--- a/src/templates/speakers.html
+++ b/src/templates/speakers.html
@@ -1,3 +1,39 @@
+<<<<<<< HEAD
+{{block "speaker-start" .}}
+