From a222da37f1f5e23906357d5d17f34a982414a1d6 Mon Sep 17 00:00:00 2001 From: parchinski Date: Tue, 5 Nov 2024 13:46:35 -0500 Subject: [PATCH] :sparkles: added nonprofite route fixed data storage --- app/lib/cardData.ts | 58 ------- app/lib/constitutionData.ts | 302 ----------------------------------- app/lib/faqData.tsx | 117 -------------- app/routes/_index.tsx | 60 ++++++- app/routes/about-us.tsx | 2 +- app/routes/constitution.tsx | 304 +++++++++++++++++++++++++++++++++++- app/routes/faq.tsx | 119 +++++++++++++- app/routes/nonprofit.tsx | 240 ++++++++++++++++++++++++++++ 8 files changed, 721 insertions(+), 481 deletions(-) delete mode 100644 app/lib/cardData.ts delete mode 100644 app/lib/constitutionData.ts delete mode 100644 app/lib/faqData.tsx create mode 100644 app/routes/nonprofit.tsx diff --git a/app/lib/cardData.ts b/app/lib/cardData.ts deleted file mode 100644 index 370daab..0000000 --- a/app/lib/cardData.ts +++ /dev/null @@ -1,58 +0,0 @@ -export const INDEX_CARD_DATA = [ - { - id: 'meetings', - title: 'Meetings', - description: - 'We hold meetings during the fall and spring semesters. Topics range from current events to security software tools and even hardware. Often special guests from various businesses and organizations will present on advanced special topics like reverse engineering and exploitation.', - buttonText: 'View Our Calendar', - imageUrls: [ - 'meetings0.webp', - 'meetings1.webp', - 'meetings2.webp', - 'meetings3.webp', - ], - link: '/calendar', - }, - { - id: 'cyber-teams', - title: 'Cyber Teams', - description: - "One component of the club involves applying defensive security strategies in order to rigorously protect computers from being compromised. Our competition teams are dedicated to learning the 'ins and outs' of administering and hardening systems to defend against some of today's leading threats.", - buttonText: 'About CCDC', - imageUrls: [ - 'cyber-teams0.webp', - 'cyber-teams1.webp', - 'cyber-teams2.webp', - 'cyber-teams3.webp', - ], - link: '/ccdc', - }, - { - id: 'cyber-games', - title: 'Cyber Games', - description: - 'A second component of the club involves learning how attackers leverage exploits and gain control of systems. At our CTF competitions, students have the opportunity to research, explore, and exploit vulnerabilities. Through collaborating on thought-provoking games and challenges, club members are able to learn the skills necessary to becoming a security professional.', - buttonText: 'About CTFs', - imageUrls: [ - 'cyber-games0.webp', - 'cyber-games1.webp', - 'cyber-games2.webp', - 'cyber-games3.webp', - ], - link: '/ctf', - }, - { - id: 'membership', - title: 'Membership', - description: - "If you like breaking stuff, problem solving, hacker-talk, or even just expressing your true 1337ness, then you definitely want to get involved. It is so neat to be around people with the same interests. It is at our meetings, competitions, and special events that we encourage you to unleash your inner nerd. Joining is a breeze. Don't skip out.", - buttonText: 'Join Now', - imageUrls: [ - 'membership0.webp', - 'membership1.webp', - 'membership2.webp', - 'membership3.webp', - ], - link: 'https://join.hackucf.org/', - }, -]; diff --git a/app/lib/constitutionData.ts b/app/lib/constitutionData.ts deleted file mode 100644 index 7fd8dea..0000000 --- a/app/lib/constitutionData.ts +++ /dev/null @@ -1,302 +0,0 @@ -export const CONSTITUTION_ARTICLES = [ - { - id: 'article-1', - title: 'Article I—Collegiate Cyber Defense Club', - content: - 'The name of this organization shall be Collegiate Cyber Defense Club. The organization may also refer to itself as CCDC.', - }, - { - id: 'article-2', - title: 'Article II—Mission and Goals', - content: [ - { - id: 'article-2-section-1', - subtitle: 'Section 1: Mission', - text: 'The mission of Collegiate Cyber Defense Club is to establish a Computer Security community within the university, to provide a venue for students to improve their computer security skills, and to foster a spirit of ethics with the training we provide. This club will participate in a variety of collegiate, national, and international cyber security competitions. Through all of this we hope to produce a security aware generation in Central Florida.', - }, - { - id: 'article-2-section-2', - subtitle: 'Section 2: Goals', - text: 'With our community growing, we want to provide an outlet to gain new skills and share information. We plan to start within UCF, but our outreach can include anyone, anywhere. We hope to share our knowledge and skills with all that seek to learn.', - }, - { - id: 'article-2-section-3', - subtitle: 'Section 3: Governing Authority', - text: 'All activities and functions of the organization must be legal under University, local, state, and federal laws. The most recent version of the Golden Rule will supersede all requirements set forth during the creation and revision of this constitution. In addition, the most recent version of Robert\'s Rules of Order shall be the authority over those questions which have not been specified by university regulations or this constitution. Within this constitution, a majority shall be defined as "more than 50%."', - }, - ], - }, - { - id: 'article-3', - title: 'Article III—Membership', - content: [ - { - id: 'article-3-section-1', - subtitle: 'Section 1: Membership Statement', - text: 'Membership in this organization is limited to any student who is paying Activity and Service Fees and is currently and/or continuously enrolled at the University of Central Florida. No discrimination shall be made on the basis of race, color, religion, sex, national origin, age, disability, marital status, sexual orientation, gender identity, gender expression, or veteran status. Hazing will not be allowed as a condition of membership in this organization.', - }, - { - id: 'article-3-section-2', - subtitle: 'Section 2: Additional Membership Requirements', - text: 'Members must pay dues as per Article IX; Members must attend 50% of membership meetings within the current semester. Members must answer a call to quorum for any meeting given at least one week of notice else they temporarily forgo their "active student member" status for the purposes of voting at said meeting. Together with Article III, Section 1, these additional requirements define what it means to be an "active student member."', - }, - { - id: 'article-3-section-3', - subtitle: 'Section 3: Recruitment', - text: 'Recruitment shall take place throughout the year and membership is open at all times.', - }, - { - id: 'article-3-section-4', - subtitle: 'Section 4: Voting Rights', - text: 'Only active student members are eligible to vote.', - }, - { - id: 'article-3-section-5', - subtitle: 'Section 5: Revocation of Membership', - text: 'Membership may be revoked without mutual agreement for non-participation, misconduct, or violations of any provisions of the Constitution. The member will be notified in writing of the possible revocation at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Membership can only be revoked upon a 2/3 affirmative vote of active student members.', - }, - { - id: 'article-3-section-6', - subtitle: 'Section 6: Reinstatement of Membership', - text: 'Membership may be reinstated after one full semester has passed. The former member may submit a request for reinstatement to the President. At the next membership meeting, the organization must vote on the reinstatement request. Membership may be reinstated by a 2/3 affirmative vote by active student members.', - }, - ], - }, - { - id: 'article-4', - title: 'Article IV—Officers', - content: [ - { - id: 'article-4-section-1', - subtitle: 'Section 1: Eligibility', - text: 'Potential officers must meet the minimum eligibility requirements of active student membership (Article III, Sections 1 and 2). All officers of the organization shall possess (at the time of election and during their term) at least the minimum requirements regarding enrollment hours, GPA, academic and disciplinary standing, and financial and disciplinary holds to serve in a leadership position, as stated in the most recent version of the Golden Rule of the University of Central Florida. Officers who do not meet these requirements during their term shall be resigned or removed.', - }, - { - id: 'article-4-section-2', - subtitle: 'Section 2: Additional Eligibility Criteria', - text: 'Potential officers must have been active student members for at least two consecutive semesters, including the semester of their nomination and election. The requirements of this section may be waived by a 2/3 affirmative vote of active student members, prior to nominations and elections. Potential officers must agree to abide by the mission and purpose of the organization, as stated in Article II, Sections 1 and 2. The requirements of this section may be waived by a 2/3 affirmative vote of active student members, prior to nominations and elections.', - }, - { - id: 'article-4-section-3', - subtitle: 'Section 3: Officer Requirements', - text: 'Officers must attend 75% of all officer meetings, membership meetings, and events unless they have an excused absence. Absences can be expunged by a 2/3 affirmative vote of officers.', - }, - { - id: 'article-4-section-4', - subtitle: 'Section 4: Titles and Duties', - text: 'The officers of this organization shall include a President, Vice President, Treasurer, and Secretary. No officer will be permitted to hold more than one officer position at a time, unless appointed to an interim position as per Article VI, Section 3.', - }, - { - id: 'article-4-section-5', - subtitle: 'Section 5: Voting Rights', - text: 'All officers shall retain voting rights; however, the President shall only vote in the case of a tie, with the exception of officer elections.', - }, - { - id: 'article-4-section-6', - subtitle: 'Section 6: Term of Office', - text: 'The length of term of office shall be no longer than one year.', - }, - ], - }, - { - id: 'article-5', - title: 'Article V—Selection of Officers', - content: [ - { - id: 'article-5-section-1', - subtitle: 'Section 1: Announcement of Elections', - text: 'The President shall, at least one meeting prior, announce the date of the upcoming nominations and elections. They shall also state the eligibility criteria (as defined in Article IV, Sections 1 and 2) and that all active student members interested in running for an office should bring written proof of eligibility to the nominations/elections meeting.', - }, - { - id: 'article-5-section-2', - subtitle: 'Section 2: Nomination Process', - text: 'The nomination of officers shall occur each academic year at the membership meeting held in March. One of the officers not running for office (preference determined by the order listed in Article IV, starting with the President) shall facilitate the nomination and election process at this meeting. If this is not possible, the facilitator will be selected by a majority vote of active student members.', - }, - { - id: 'article-5-section-3', - subtitle: 'Section 3: Election Process', - text: 'The election of officers shall occur at the membership meeting held in April. The order of elections shall be: President, Vice President, Treasurer, and Secretary. The organization may not proceed to the election of the next officer until the current one has been resolved.', - }, - { - id: 'article-5-section-4', - subtitle: 'Section 4: Installation of Officers', - text: 'Newly elected officers shall take office immediately following the membership meeting in April and their term will end immediately following the membership meeting the next April. Current officers should assist in the transition and training of the officers-elect, from elections until installation. A change in officer information should be reported to the Office of Student Involvement, via Update Form, within 10 school days of installation.', - }, - { - id: 'article-5-section-5', - subtitle: 'Section 5: Re-election', - text: 'Any officer may be re-elected; however, not for more than two consecutive terms in the same officer position. Officers cannot reappoint themselves for a subsequent term, they must be re-elected as described in Article V.', - }, - ], - }, - { - id: 'article-6', - title: 'Article VI—Officer Vacancies', - content: [ - { - id: 'article-6-section-1', - subtitle: 'Section 1: Removal of Officers', - text: 'Leadership may be revoked without mutual agreement for non-participation, misconduct, failure to fulfill job duties, or violations of any provisions of the Constitution. The officer will be notified in writing of the possible removal from office at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Any officer may be removed from office upon a 2/3 affirmative vote of active student members. The removed officer shall provide all documents relating to the organization and brief their replacement of current projects in their care.', - }, - { - id: 'article-6-section-2', - subtitle: 'Section 2: Resignation', - text: "Officers no longer wishing to serve on the board must submit their resignation to the President (or Vice President if the President is resigning) and advisor at least two (2) weeks in advance. Prior to the officer's final day they shall provide all documents relating to the organization and brief their replacement of current projects in their care.", - }, - { - id: 'article-6-section-3', - subtitle: 'Section 3: Filling Vacant Officer Positions', - text: 'In the event an officer (besides President) is removed or resigns, the remaining officers will decide if the position is to be filled. If it is to be filled, the nomination and election process as stated in Article V will take place at the next membership meeting. The officers may appoint an interim officer to serve in the vacant position until the next membership meeting.', - }, - ], - }, - { - id: 'article-7', - title: 'Article VII—Meetings and Events', - content: [ - { - id: 'article-7-section-1', - subtitle: 'Section 1: Membership Meetings', - text: "The membership should meet at least twice per month during the fall and spring semesters. Meetings are open to those defined in Article III, Section 1, and officers (except the President, unless otherwise stated) and active student members (unless otherwise stated) are allowed one vote per motion. The quorum required to conduct business is a majority of the officers and organization's active student members. Unless otherwise stated in this constitution, a motion is considered passed with a majority vote.", - }, - { - id: 'article-7-section-2', - subtitle: 'Section 2: Officer Meetings', - text: 'The officers should meet at least twice per month during the fall and spring semesters. Meetings are open to those defined in Article III, Section 1, and officers (except the President, unless otherwise stated) are allowed one vote per motion. The quorum required to conduct business is a majority of the officers. Unless otherwise stated in this constitution, a motion is considered passed with a majority vote.', - }, - { - id: 'article-7-section-3', - subtitle: 'Section 3: Calling Meetings', - text: 'The President will be in charge of calling meetings and the Secretary will be responsible for notifying all members and/or officers at least 48 hours in advance, by e-mail and/or telephone. A majority vote of the officers or active student members may also call a meeting.', - }, - { - id: 'article-7-section-4', - subtitle: 'Section 4: Meeting Procedure', - text: "The President shall use their discretion as to the manner and process in which they preside over meetings. However, the President shall follow Robert's Rules of Order in a given meeting if 2/3 of the active student members so request.", - }, - { - id: 'article-7-section-5', - subtitle: 'Section 5: Events', - text: 'Events shall be held periodically during the fall and spring semesters. Events are open to those defined in Article III, Section 1. The President will be in charge of calling events and the Secretary will be responsible for notifying all members at least 48 hours in advance, by e-mail and/or telephone.', - }, - ], - }, - { - id: 'article-8', - title: 'Article VIII—Advisor', - content: [ - { - id: 'article-8-section-1', - subtitle: 'Section 1: Selection', - text: 'The advisor shall be selected by the officers. To be eligible to serve as the advisor, the person must be a contracted UCF employee (faculty or A&P), as defined by Human Resources.', - }, - { - id: 'article-8-section-2', - subtitle: 'Section 2: Role and Authority', - text: 'The advisor shall serve as a mentor to the organization, providing guidance to the officers and members in the development and implementation of programs and activities, as well as UCF policy and procedure. Additionally, the advisor will monitor expenditures of the organization. The advisor has no voting rights. The advisor must be willing to obtain an appropriate level of experience, resource information, and knowledge related to the mission, purpose, and activities of the organization.', - }, - { - id: 'article-8-section-3', - subtitle: 'Section 3: Length of Term', - text: 'The advisor has no term limit as long as they remain a contracted UCF employee.', - }, - { - id: 'article-8-section-4', - subtitle: 'Section 4: Removal and Replacement of Advisor', - text: 'The advisor will be notified in writing of the possible removal at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Upon a majority vote of active student members, the advisor will be removed from their duties. In the event that an advisor is removed or resigns, a new advisor shall be elected within 15 school days. A change in advisor information should be immediately reported to the Office of Student Involvement, via Update Form.', - }, - ], - }, - { - id: 'article-9', - title: 'Article IX—Finances', - content: [ - { - id: 'article-9-section-1', - subtitle: 'Section 1: Membership Dues', - text: 'Membership dues shall be $10 per year. Membership dues will be collected by the Treasurer during the fall and spring semesters only. All active student members, including officers, are required to pay membership dues. Full or partial refunds can only be granted upon a 2/3 affirmative vote of the officers.', - }, - { - id: 'article-9-section-2', - subtitle: 'Section 2: Budget Approval', - text: 'The Treasurer (in conjunction with the President) shall create a budget for the fall and spring semesters. The officers and active student members must approve the budget within the first month of each semester. New expenditures, above $30, not approved in the semester budget must be approved by a vote of the active student members.', - }, - { - id: 'article-9-section-3', - subtitle: 'Section 3: Financial Authority', - text: "For the protection of the organization and its officers, it is required that two authorized persons approve all monetary transactions. Only the President, Treasurer, and Advisor can be signers with the organization's financial institution. Organizational funds may be spent on items such as office supplies, events and activities, publicity, travel expenses, and conference fees, but will not be used for anything illegal under University, local, state, and federal laws. All funds must be deposited within 24 business hours after collection.", - }, - { - id: 'article-9-section-4', - subtitle: 'Section 4: Officer Transition', - text: "It shall be the responsibility of all account signers to change contact information, as well as assist in the update of new account signatures with the organization's financial institution after each election. In addition, it is the outgoing Treasurer's responsibility to compile and present all banking documents and information about the previous and current budget to the new Treasurer.", - }, - { - id: 'article-9-section-5', - subtitle: 'Section 5: Dissolution of Organization', - text: "In the event that the organization ceases to exist, any funds remaining in the organization's account shall be donated to: Electronic Frontier Foundation, 815 Eddy Street, San Francisco, CA 94109 USA, Phone: +1-415-436-9333, Fax: +1-415-436-9993", - }, - ], - }, - { - id: 'article-10', - title: 'Article X—External Affiliations', - content: - 'Electronic Frontier Foundation: The rules and regulations of the external affiliate shall be followed when not inconsistent with the rules and regulations of this Constitution and University of Central Florida.', - }, - { - id: 'article-11', - title: 'Article XI—Committees', - content: - 'Committees may be formed by a vote of officers or active student members. At the time of formation, the process for committee member selection, chair selection, committee and chair responsibilities must also be approved. Committees may be dissolved by a vote of officers or active student members.', - }, - { - id: 'article-12', - title: 'Article XII—Publications and Advertising', - content: [ - { - id: 'article-12-section-1', - subtitle: 'Section 1: Compliance', - text: 'All graphics and publicity of the organization must comply with the Golden Rule, Event Policies, Student Union and other building guidelines, and the UCF University Marketing Graphic Standards.', - }, - { - id: 'article-12-section-2', - subtitle: 'Section 2: Approval', - text: 'The Secretary and President must unanimously approve all graphics and publicity (e.g., shirts, flyers, and other forms of advertising/marketing) prior to duplication and distribution.', - }, - ], - }, - { - id: 'article-13', - title: 'Article XIII—Ratification and Empowerment', - content: [ - { - id: 'article-13-section-1', - subtitle: 'Section 1: Ratification', - text: 'This constitution will become ratified by a 2/3 approval of the officers of the organization.', - }, - { - id: 'article-13-section-2', - subtitle: 'Section 2: Empowerment', - text: 'This constitution will take effect only after it is approved by the Student Government Association and Office of Student Involvement.', - }, - ], - }, - { - id: 'article-14', - title: 'Article XIV—Risk Management', - content: [ - { - id: 'article-14-section-1', - subtitle: 'Section 1: General', - text: 'The organization will follow all risk management guidelines and procedures as provided by the Office of Student Involvement or other university entities, in regards to organizational activities, event planning, and group travel. Additionally, officers of the organization will continually review organizational procedures in an attempt to minimize any potential risks.', - }, - ], - }, - { - id: 'article-15', - title: 'Article XV—Amendments', - content: - 'Amendments to the constitution must be proposed in writing to the President. The amendment must then be presented to the organization during a membership meeting and should include a full explanation and/or rationale for the amendment. The amendment must be voted on at the following membership meeting and approved by a 2/3 affirmative vote of active student members. All amended constitutions must be submitted to the Office of Student Involvement within two school weeks. The amendment shall not take effect until approved by the Office of Student Involvement.', - }, -]; diff --git a/app/lib/faqData.tsx b/app/lib/faqData.tsx deleted file mode 100644 index 9700404..0000000 --- a/app/lib/faqData.tsx +++ /dev/null @@ -1,117 +0,0 @@ -export const FAQ_ITEMS = [ - { - question: 'What is Hack@UCF?', - answer: - 'The Collegiate Cyber Defense Club, also known as Hack@UCF, is a registered student organization (RSO) at the University of Central Florida and a 501(c)(3) nonprofit focused on providing students with information security education and opportunities. We teach both offensive and defensive security in the following areas: network security, wireless security, physical security, web application security, binary exploitation and reverse engineering, penetration testing and red teaming, social engineering, forensics, and lock picking.', - key: 'what-is-hackucf', - }, - { - question: 'When are meetings?', - answer: - 'Check the calendar, newsletter, or our social media pages for up-to-date announcements regarding club events. Our general body meetings are Fridays at 5:30pm-7:00pm EST in BA-119.', - key: 'meeting-times', - }, - { - question: - 'I am a freshman/new to all this/not good with computers. Should I still come?', - answer: - "Absolutely. We are open to all students here at UCF and there is no reason to feel like you shouldn't attend meetings. If the content is out of your depth, ask questions either during or after the meeting.", - key: 'newcomers-welcome', - }, - { - question: 'I am not a UCF student. May I still come to meetings?', - answer: - 'Absolutely. Meetings are open to the public, but pizza is intended for members only.', - key: 'non-ucf-students', - }, - { - question: 'What are the benefits of membership?', - answer: - 'Members get a discount of our awesome t-shirt and voting rights for elections. More information about membership is available here.', - key: 'membership-benefits', - }, - { - question: 'How do I become a member?', - answer: 'You are looking for this page here.', - key: 'become-member', - }, - { - question: 'How do I join the mailing list?', - answer: 'You can join the mailing list here.', - key: 'join-mailing-list', - }, - { - question: 'How do I join Ops? What are the benefits to joining Ops?', - answer: - 'Ops is short for our Operational Team. They help organize speakers, club events, and otherwise run the club with the executive board. Enjoy pizza, speakers, resources, workshops? Consider volunteering to join Ops. Ops meetings are held about once a week and are open to all Hack@UCF members. Why should you join? You get to contribute to making Hack@UCF awesome!', - key: 'join-ops-team', - }, - { - question: 'What are CTFs?', - answer: - 'A CTF, or Capture the Flag, is a game used to teach information security fundamentals or gauge information security skill levels. Typically a CTF is held in a "Jeopardy Style" where contestants solve problems on a Jeopardy board for points, but "King of the Castle" and "Red vs. Blue" types are also available. More information about CTFs is available here.', - key: 'what-are-ctfs', - }, - { - question: 'How do I join the CCDC Team?', - answer: - 'The Collegiate Cyber Defense Competition (CCDC) Team consists of 12 members and 4 alternates. The team is always looking for self-motivated students possessing skills in Windows or Linux administration and skills using traditional products like firewalls, IDS, and NACs. You must be a full-time student with a minimum GPA of 2.0 in order to qualify for the team. Tryouts occur during the Fall semester. The team roster is announced during the Spring semester and team members start practicing three times a week in preparation for the regional and national competitions. Spring semester practices are restricted to team members only. If you are a beginner in this area consider taking the free SANS Cyber Aces training (http://www.cyberaces.org/). More information about the team is available here.', - key: 'join-ccdc-team', - }, - { - question: 'How do I join Knightsec?', - answer: - 'Knightsec is our offensive security team. While there is no official structure to Knightsec, we send and organize teams of students to participate in various CTFs nationally. Each CTF has different requirements with regards to team size and skill set. More information about Knightsec is available here.', - key: 'join-knightsec', - }, - { - question: 'How do I get started in Information Security?', - answer: - 'Begin with the end in mind. Information security is becoming a wide area of study with different areas of knowledge. Do you know what area interests you? Begin learning about the field by studying the different fields that comprise information security—see the resources below. Once you have an idea of what interests you, begin studying that area. There are many different career paths that sound appealing to you. Look at security job descriptions at companies that interest you. What skills do they require? If you do not possess that skill set, how do you obtain it? Align your studies to include these necessary skills. Access to a lab helps solidify academic concepts (e.g., do it, do not just read about it).', - key: 'get-started-infosec', - }, - { - question: 'What resources do you recommend?', - answer: ( -
-

Wargames:

- -

CTF Workshop: https://github.com/kablaa/CTF-Workshop

-

x86 Assembly Crash Course: https://youtu.be/75gBFiFtAb8

-

- LiveOverflow: https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w -

-

ippsec: https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA

-

Penetration Testing: https://github.com/enaqx/awesome-pentest

-

- Starting Out: High school oriented CTF such as PicoCTF (start small, - learn concepts) -

-
- ), - key: 'recommended-resources', - }, - { - question: 'How do I get my first information security internship?', - answer: - 'Many of the talks given at Hack@UCF consist of material that will be usable in the information security field. That being said, many of the people giving these talks are people who can lead you in the right direction to land an information security internship. We also host workshops covering hands-on material where you can apply the concepts learned in these talks.', - key: 'first-infosec-internship', - }, - { - question: 'I have additional questions not answered here.', - answer: 'Contact ops@hackucf.org and we will do our best to help you out.', - key: 'additional-questions', - }, - { - question: 'What does Cyber touch?', - answer: 'Everything.', - key: 'cyber-touch', - }, -]; diff --git a/app/routes/_index.tsx b/app/routes/_index.tsx index d5fd7fa..f4e5d47 100644 --- a/app/routes/_index.tsx +++ b/app/routes/_index.tsx @@ -14,7 +14,65 @@ import { import HackerBg from '@/components/ui/hacker-bg'; import BackgroundGrid from '@/components/ui/grid-bg'; import ImageCarousel from '@/components/image-carousel'; -import { INDEX_CARD_DATA } from '@/lib/cardData'; + +const INDEX_CARD_DATA = [ + { + id: 'meetings', + title: 'Meetings', + description: + 'We hold meetings during the fall and spring semesters. Topics range from current events to security software tools and even hardware. Often special guests from various businesses and organizations will present on advanced special topics like reverse engineering and exploitation.', + buttonText: 'View Our Calendar', + imageUrls: [ + 'meetings0.webp', + 'meetings1.webp', + 'meetings2.webp', + 'meetings3.webp', + ], + link: '/calendar', + }, + { + id: 'cyber-teams', + title: 'Cyber Teams', + description: + "One component of the club involves applying defensive security strategies in order to rigorously protect computers from being compromised. Our competition teams are dedicated to learning the 'ins and outs' of administering and hardening systems to defend against some of today's leading threats.", + buttonText: 'About CCDC', + imageUrls: [ + 'cyber-teams0.webp', + 'cyber-teams1.webp', + 'cyber-teams2.webp', + 'cyber-teams3.webp', + ], + link: '/ccdc', + }, + { + id: 'cyber-games', + title: 'Cyber Games', + description: + 'A second component of the club involves learning how attackers leverage exploits and gain control of systems. At our CTF competitions, students have the opportunity to research, explore, and exploit vulnerabilities. Through collaborating on thought-provoking games and challenges, club members are able to learn the skills necessary to becoming a security professional.', + buttonText: 'About CTFs', + imageUrls: [ + 'cyber-games0.webp', + 'cyber-games1.webp', + 'cyber-games2.webp', + 'cyber-games3.webp', + ], + link: '/ctf', + }, + { + id: 'membership', + title: 'Membership', + description: + "If you like breaking stuff, problem solving, hacker-talk, or even just expressing your true 1337ness, then you definitely want to get involved. It is so neat to be around people with the same interests. It is at our meetings, competitions, and special events that we encourage you to unleash your inner nerd. Joining is a breeze. Don't skip out.", + buttonText: 'Join Now', + imageUrls: [ + 'membership0.webp', + 'membership1.webp', + 'membership2.webp', + 'membership3.webp', + ], + link: 'https://join.hackucf.org/', + }, +]; function ScrollArrow({ onClick }: { onClick: () => void }) { return ( diff --git a/app/routes/about-us.tsx b/app/routes/about-us.tsx index 54c1343..65bcd13 100644 --- a/app/routes/about-us.tsx +++ b/app/routes/about-us.tsx @@ -2,13 +2,13 @@ import { Link } from '@remix-run/react'; import { Button } from '@/components/ui/button'; -// data deemed to small for own file const NAV_LINKS = [ { id: 'competitions', name: 'Competitions', href: '/competitions' }, { id: 'ctf', name: 'Capture The Flag Competitions', href: '/ctf' }, { id: 'ccdc', name: 'CCDC Competition', href: '/ccdc' }, { id: 'faq', name: 'FAQ', href: '/faq' }, { id: 'constitution', name: 'Constitution', href: '/constitution' }, + { id: 'nonprofit', name: 'Nonprofit', href: '/nonprofit' }, ]; const PARTNER_LINKS = [ diff --git a/app/routes/constitution.tsx b/app/routes/constitution.tsx index e2d498c..2c3c7c3 100644 --- a/app/routes/constitution.tsx +++ b/app/routes/constitution.tsx @@ -6,7 +6,309 @@ import { AccordionItem, AccordionTrigger, } from '@/components/ui/accordion'; -import { CONSTITUTION_ARTICLES } from '@/lib/constitutionData'; + +const CONSTITUTION_ARTICLES = [ + { + id: 'article-1', + title: 'Article I—Collegiate Cyber Defense Club', + content: + 'The name of this organization shall be Collegiate Cyber Defense Club. The organization may also refer to itself as CCDC.', + }, + { + id: 'article-2', + title: 'Article II—Mission and Goals', + content: [ + { + id: 'article-2-section-1', + subtitle: 'Section 1: Mission', + text: 'The mission of Collegiate Cyber Defense Club is to establish a Computer Security community within the university, to provide a venue for students to improve their computer security skills, and to foster a spirit of ethics with the training we provide. This club will participate in a variety of collegiate, national, and international cyber security competitions. Through all of this we hope to produce a security aware generation in Central Florida.', + }, + { + id: 'article-2-section-2', + subtitle: 'Section 2: Goals', + text: 'With our community growing, we want to provide an outlet to gain new skills and share information. We plan to start within UCF, but our outreach can include anyone, anywhere. We hope to share our knowledge and skills with all that seek to learn.', + }, + { + id: 'article-2-section-3', + subtitle: 'Section 3: Governing Authority', + text: 'All activities and functions of the organization must be legal under University, local, state, and federal laws. The most recent version of the Golden Rule will supersede all requirements set forth during the creation and revision of this constitution. In addition, the most recent version of Robert\'s Rules of Order shall be the authority over those questions which have not been specified by university regulations or this constitution. Within this constitution, a majority shall be defined as "more than 50%."', + }, + ], + }, + { + id: 'article-3', + title: 'Article III—Membership', + content: [ + { + id: 'article-3-section-1', + subtitle: 'Section 1: Membership Statement', + text: 'Membership in this organization is limited to any student who is paying Activity and Service Fees and is currently and/or continuously enrolled at the University of Central Florida. No discrimination shall be made on the basis of race, color, religion, sex, national origin, age, disability, marital status, sexual orientation, gender identity, gender expression, or veteran status. Hazing will not be allowed as a condition of membership in this organization.', + }, + { + id: 'article-3-section-2', + subtitle: 'Section 2: Additional Membership Requirements', + text: 'Members must pay dues as per Article IX; Members must attend 50% of membership meetings within the current semester. Members must answer a call to quorum for any meeting given at least one week of notice else they temporarily forgo their "active student member" status for the purposes of voting at said meeting. Together with Article III, Section 1, these additional requirements define what it means to be an "active student member."', + }, + { + id: 'article-3-section-3', + subtitle: 'Section 3: Recruitment', + text: 'Recruitment shall take place throughout the year and membership is open at all times.', + }, + { + id: 'article-3-section-4', + subtitle: 'Section 4: Voting Rights', + text: 'Only active student members are eligible to vote.', + }, + { + id: 'article-3-section-5', + subtitle: 'Section 5: Revocation of Membership', + text: 'Membership may be revoked without mutual agreement for non-participation, misconduct, or violations of any provisions of the Constitution. The member will be notified in writing of the possible revocation at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Membership can only be revoked upon a 2/3 affirmative vote of active student members.', + }, + { + id: 'article-3-section-6', + subtitle: 'Section 6: Reinstatement of Membership', + text: 'Membership may be reinstated after one full semester has passed. The former member may submit a request for reinstatement to the President. At the next membership meeting, the organization must vote on the reinstatement request. Membership may be reinstated by a 2/3 affirmative vote by active student members.', + }, + ], + }, + { + id: 'article-4', + title: 'Article IV—Officers', + content: [ + { + id: 'article-4-section-1', + subtitle: 'Section 1: Eligibility', + text: 'Potential officers must meet the minimum eligibility requirements of active student membership (Article III, Sections 1 and 2). All officers of the organization shall possess (at the time of election and during their term) at least the minimum requirements regarding enrollment hours, GPA, academic and disciplinary standing, and financial and disciplinary holds to serve in a leadership position, as stated in the most recent version of the Golden Rule of the University of Central Florida. Officers who do not meet these requirements during their term shall be resigned or removed.', + }, + { + id: 'article-4-section-2', + subtitle: 'Section 2: Additional Eligibility Criteria', + text: 'Potential officers must have been active student members for at least two consecutive semesters, including the semester of their nomination and election. The requirements of this section may be waived by a 2/3 affirmative vote of active student members, prior to nominations and elections. Potential officers must agree to abide by the mission and purpose of the organization, as stated in Article II, Sections 1 and 2. The requirements of this section may be waived by a 2/3 affirmative vote of active student members, prior to nominations and elections.', + }, + { + id: 'article-4-section-3', + subtitle: 'Section 3: Officer Requirements', + text: 'Officers must attend 75% of all officer meetings, membership meetings, and events unless they have an excused absence. Absences can be expunged by a 2/3 affirmative vote of officers.', + }, + { + id: 'article-4-section-4', + subtitle: 'Section 4: Titles and Duties', + text: 'The officers of this organization shall include a President, Vice President, Treasurer, and Secretary. No officer will be permitted to hold more than one officer position at a time, unless appointed to an interim position as per Article VI, Section 3.', + }, + { + id: 'article-4-section-5', + subtitle: 'Section 5: Voting Rights', + text: 'All officers shall retain voting rights; however, the President shall only vote in the case of a tie, with the exception of officer elections.', + }, + { + id: 'article-4-section-6', + subtitle: 'Section 6: Term of Office', + text: 'The length of term of office shall be no longer than one year.', + }, + ], + }, + { + id: 'article-5', + title: 'Article V—Selection of Officers', + content: [ + { + id: 'article-5-section-1', + subtitle: 'Section 1: Announcement of Elections', + text: 'The President shall, at least one meeting prior, announce the date of the upcoming nominations and elections. They shall also state the eligibility criteria (as defined in Article IV, Sections 1 and 2) and that all active student members interested in running for an office should bring written proof of eligibility to the nominations/elections meeting.', + }, + { + id: 'article-5-section-2', + subtitle: 'Section 2: Nomination Process', + text: 'The nomination of officers shall occur each academic year at the membership meeting held in March. One of the officers not running for office (preference determined by the order listed in Article IV, starting with the President) shall facilitate the nomination and election process at this meeting. If this is not possible, the facilitator will be selected by a majority vote of active student members.', + }, + { + id: 'article-5-section-3', + subtitle: 'Section 3: Election Process', + text: 'The election of officers shall occur at the membership meeting held in April. The order of elections shall be: President, Vice President, Treasurer, and Secretary. The organization may not proceed to the election of the next officer until the current one has been resolved.', + }, + { + id: 'article-5-section-4', + subtitle: 'Section 4: Installation of Officers', + text: 'Newly elected officers shall take office immediately following the membership meeting in April and their term will end immediately following the membership meeting the next April. Current officers should assist in the transition and training of the officers-elect, from elections until installation. A change in officer information should be reported to the Office of Student Involvement, via Update Form, within 10 school days of installation.', + }, + { + id: 'article-5-section-5', + subtitle: 'Section 5: Re-election', + text: 'Any officer may be re-elected; however, not for more than two consecutive terms in the same officer position. Officers cannot reappoint themselves for a subsequent term, they must be re-elected as described in Article V.', + }, + ], + }, + { + id: 'article-6', + title: 'Article VI—Officer Vacancies', + content: [ + { + id: 'article-6-section-1', + subtitle: 'Section 1: Removal of Officers', + text: 'Leadership may be revoked without mutual agreement for non-participation, misconduct, failure to fulfill job duties, or violations of any provisions of the Constitution. The officer will be notified in writing of the possible removal from office at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Any officer may be removed from office upon a 2/3 affirmative vote of active student members. The removed officer shall provide all documents relating to the organization and brief their replacement of current projects in their care.', + }, + { + id: 'article-6-section-2', + subtitle: 'Section 2: Resignation', + text: "Officers no longer wishing to serve on the board must submit their resignation to the President (or Vice President if the President is resigning) and advisor at least two (2) weeks in advance. Prior to the officer's final day they shall provide all documents relating to the organization and brief their replacement of current projects in their care.", + }, + { + id: 'article-6-section-3', + subtitle: 'Section 3: Filling Vacant Officer Positions', + text: 'In the event an officer (besides President) is removed or resigns, the remaining officers will decide if the position is to be filled. If it is to be filled, the nomination and election process as stated in Article V will take place at the next membership meeting. The officers may appoint an interim officer to serve in the vacant position until the next membership meeting.', + }, + ], + }, + { + id: 'article-7', + title: 'Article VII—Meetings and Events', + content: [ + { + id: 'article-7-section-1', + subtitle: 'Section 1: Membership Meetings', + text: "The membership should meet at least twice per month during the fall and spring semesters. Meetings are open to those defined in Article III, Section 1, and officers (except the President, unless otherwise stated) and active student members (unless otherwise stated) are allowed one vote per motion. The quorum required to conduct business is a majority of the officers and organization's active student members. Unless otherwise stated in this constitution, a motion is considered passed with a majority vote.", + }, + { + id: 'article-7-section-2', + subtitle: 'Section 2: Officer Meetings', + text: 'The officers should meet at least twice per month during the fall and spring semesters. Meetings are open to those defined in Article III, Section 1, and officers (except the President, unless otherwise stated) are allowed one vote per motion. The quorum required to conduct business is a majority of the officers. Unless otherwise stated in this constitution, a motion is considered passed with a majority vote.', + }, + { + id: 'article-7-section-3', + subtitle: 'Section 3: Calling Meetings', + text: 'The President will be in charge of calling meetings and the Secretary will be responsible for notifying all members and/or officers at least 48 hours in advance, by e-mail and/or telephone. A majority vote of the officers or active student members may also call a meeting.', + }, + { + id: 'article-7-section-4', + subtitle: 'Section 4: Meeting Procedure', + text: "The President shall use their discretion as to the manner and process in which they preside over meetings. However, the President shall follow Robert's Rules of Order in a given meeting if 2/3 of the active student members so request.", + }, + { + id: 'article-7-section-5', + subtitle: 'Section 5: Events', + text: 'Events shall be held periodically during the fall and spring semesters. Events are open to those defined in Article III, Section 1. The President will be in charge of calling events and the Secretary will be responsible for notifying all members at least 48 hours in advance, by e-mail and/or telephone.', + }, + ], + }, + { + id: 'article-8', + title: 'Article VIII—Advisor', + content: [ + { + id: 'article-8-section-1', + subtitle: 'Section 1: Selection', + text: 'The advisor shall be selected by the officers. To be eligible to serve as the advisor, the person must be a contracted UCF employee (faculty or A&P), as defined by Human Resources.', + }, + { + id: 'article-8-section-2', + subtitle: 'Section 2: Role and Authority', + text: 'The advisor shall serve as a mentor to the organization, providing guidance to the officers and members in the development and implementation of programs and activities, as well as UCF policy and procedure. Additionally, the advisor will monitor expenditures of the organization. The advisor has no voting rights. The advisor must be willing to obtain an appropriate level of experience, resource information, and knowledge related to the mission, purpose, and activities of the organization.', + }, + { + id: 'article-8-section-3', + subtitle: 'Section 3: Length of Term', + text: 'The advisor has no term limit as long as they remain a contracted UCF employee.', + }, + { + id: 'article-8-section-4', + subtitle: 'Section 4: Removal and Replacement of Advisor', + text: 'The advisor will be notified in writing of the possible removal at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Upon a majority vote of active student members, the advisor will be removed from their duties. In the event that an advisor is removed or resigns, a new advisor shall be elected within 15 school days. A change in advisor information should be immediately reported to the Office of Student Involvement, via Update Form.', + }, + ], + }, + { + id: 'article-9', + title: 'Article IX—Finances', + content: [ + { + id: 'article-9-section-1', + subtitle: 'Section 1: Membership Dues', + text: 'Membership dues shall be $10 per year. Membership dues will be collected by the Treasurer during the fall and spring semesters only. All active student members, including officers, are required to pay membership dues. Full or partial refunds can only be granted upon a 2/3 affirmative vote of the officers.', + }, + { + id: 'article-9-section-2', + subtitle: 'Section 2: Budget Approval', + text: 'The Treasurer (in conjunction with the President) shall create a budget for the fall and spring semesters. The officers and active student members must approve the budget within the first month of each semester. New expenditures, above $30, not approved in the semester budget must be approved by a vote of the active student members.', + }, + { + id: 'article-9-section-3', + subtitle: 'Section 3: Financial Authority', + text: "For the protection of the organization and its officers, it is required that two authorized persons approve all monetary transactions. Only the President, Treasurer, and Advisor can be signers with the organization's financial institution. Organizational funds may be spent on items such as office supplies, events and activities, publicity, travel expenses, and conference fees, but will not be used for anything illegal under University, local, state, and federal laws. All funds must be deposited within 24 business hours after collection.", + }, + { + id: 'article-9-section-4', + subtitle: 'Section 4: Officer Transition', + text: "It shall be the responsibility of all account signers to change contact information, as well as assist in the update of new account signatures with the organization's financial institution after each election. In addition, it is the outgoing Treasurer's responsibility to compile and present all banking documents and information about the previous and current budget to the new Treasurer.", + }, + { + id: 'article-9-section-5', + subtitle: 'Section 5: Dissolution of Organization', + text: "In the event that the organization ceases to exist, any funds remaining in the organization's account shall be donated to: Electronic Frontier Foundation, 815 Eddy Street, San Francisco, CA 94109 USA, Phone: +1-415-436-9333, Fax: +1-415-436-9993", + }, + ], + }, + { + id: 'article-10', + title: 'Article X—External Affiliations', + content: + 'Electronic Frontier Foundation: The rules and regulations of the external affiliate shall be followed when not inconsistent with the rules and regulations of this Constitution and University of Central Florida.', + }, + { + id: 'article-11', + title: 'Article XI—Committees', + content: + 'Committees may be formed by a vote of officers or active student members. At the time of formation, the process for committee member selection, chair selection, committee and chair responsibilities must also be approved. Committees may be dissolved by a vote of officers or active student members.', + }, + { + id: 'article-12', + title: 'Article XII—Publications and Advertising', + content: [ + { + id: 'article-12-section-1', + subtitle: 'Section 1: Compliance', + text: 'All graphics and publicity of the organization must comply with the Golden Rule, Event Policies, Student Union and other building guidelines, and the UCF University Marketing Graphic Standards.', + }, + { + id: 'article-12-section-2', + subtitle: 'Section 2: Approval', + text: 'The Secretary and President must unanimously approve all graphics and publicity (e.g., shirts, flyers, and other forms of advertising/marketing) prior to duplication and distribution.', + }, + ], + }, + { + id: 'article-13', + title: 'Article XIII—Ratification and Empowerment', + content: [ + { + id: 'article-13-section-1', + subtitle: 'Section 1: Ratification', + text: 'This constitution will become ratified by a 2/3 approval of the officers of the organization.', + }, + { + id: 'article-13-section-2', + subtitle: 'Section 2: Empowerment', + text: 'This constitution will take effect only after it is approved by the Student Government Association and Office of Student Involvement.', + }, + ], + }, + { + id: 'article-14', + title: 'Article XIV—Risk Management', + content: [ + { + id: 'article-14-section-1', + subtitle: 'Section 1: General', + text: 'The organization will follow all risk management guidelines and procedures as provided by the Office of Student Involvement or other university entities, in regards to organizational activities, event planning, and group travel. Additionally, officers of the organization will continually review organizational procedures in an attempt to minimize any potential risks.', + }, + ], + }, + { + id: 'article-15', + title: 'Article XV—Amendments', + content: + 'Amendments to the constitution must be proposed in writing to the President. The amendment must then be presented to the organization during a membership meeting and should include a full explanation and/or rationale for the amendment. The amendment must be voted on at the following membership meeting and approved by a 2/3 affirmative vote of active student members. All amended constitutions must be submitted to the Office of Student Involvement within two school weeks. The amendment shall not take effect until approved by the Office of Student Involvement.', + }, +]; export default function Constitution() { return ( diff --git a/app/routes/faq.tsx b/app/routes/faq.tsx index a2ae358..1fe4494 100644 --- a/app/routes/faq.tsx +++ b/app/routes/faq.tsx @@ -6,7 +6,124 @@ import { AccordionItem, AccordionTrigger, } from '@/components/ui/accordion'; -import { FAQ_ITEMS } from '@/lib/faqData'; + +const FAQ_ITEMS = [ + { + question: 'What is Hack@UCF?', + answer: + 'The Collegiate Cyber Defense Club, also known as Hack@UCF, is a registered student organization (RSO) at the University of Central Florida and a 501(c)(3) nonprofit focused on providing students with information security education and opportunities. We teach both offensive and defensive security in the following areas: network security, wireless security, physical security, web application security, binary exploitation and reverse engineering, penetration testing and red teaming, social engineering, forensics, and lock picking.', + key: 'what-is-hackucf', + }, + { + question: 'When are meetings?', + answer: + 'Check the calendar, newsletter, or our social media pages for up-to-date announcements regarding club events. Our general body meetings are Fridays at 5:30pm-7:00pm EST in BA-119.', + key: 'meeting-times', + }, + { + question: + 'I am a freshman/new to all this/not good with computers. Should I still come?', + answer: + "Absolutely. We are open to all students here at UCF and there is no reason to feel like you shouldn't attend meetings. If the content is out of your depth, ask questions either during or after the meeting.", + key: 'newcomers-welcome', + }, + { + question: 'I am not a UCF student. May I still come to meetings?', + answer: + 'Absolutely. Meetings are open to the public, but pizza is intended for members only.', + key: 'non-ucf-students', + }, + { + question: 'What are the benefits of membership?', + answer: + 'Members get a discount of our awesome t-shirt and voting rights for elections. More information about membership is available here.', + key: 'membership-benefits', + }, + { + question: 'How do I become a member?', + answer: 'You are looking for this page here.', + key: 'become-member', + }, + { + question: 'How do I join the mailing list?', + answer: 'You can join the mailing list here.', + key: 'join-mailing-list', + }, + { + question: 'How do I join Ops? What are the benefits to joining Ops?', + answer: + 'Ops is short for our Operational Team. They help organize speakers, club events, and otherwise run the club with the executive board. Enjoy pizza, speakers, resources, workshops? Consider volunteering to join Ops. Ops meetings are held about once a week and are open to all Hack@UCF members. Why should you join? You get to contribute to making Hack@UCF awesome!', + key: 'join-ops-team', + }, + { + question: 'What are CTFs?', + answer: + 'A CTF, or Capture the Flag, is a game used to teach information security fundamentals or gauge information security skill levels. Typically a CTF is held in a "Jeopardy Style" where contestants solve problems on a Jeopardy board for points, but "King of the Castle" and "Red vs. Blue" types are also available. More information about CTFs is available here.', + key: 'what-are-ctfs', + }, + { + question: 'How do I join the CCDC Team?', + answer: + 'The Collegiate Cyber Defense Competition (CCDC) Team consists of 12 members and 4 alternates. The team is always looking for self-motivated students possessing skills in Windows or Linux administration and skills using traditional products like firewalls, IDS, and NACs. You must be a full-time student with a minimum GPA of 2.0 in order to qualify for the team. Tryouts occur during the Fall semester. The team roster is announced during the Spring semester and team members start practicing three times a week in preparation for the regional and national competitions. Spring semester practices are restricted to team members only. If you are a beginner in this area consider taking the free SANS Cyber Aces training (http://www.cyberaces.org/). More information about the team is available here.', + key: 'join-ccdc-team', + }, + { + question: 'How do I join Knightsec?', + answer: + 'Knightsec is our offensive security team. While there is no official structure to Knightsec, we send and organize teams of students to participate in various CTFs nationally. Each CTF has different requirements with regards to team size and skill set. More information about Knightsec is available here.', + key: 'join-knightsec', + }, + { + question: 'How do I get started in Information Security?', + answer: + 'Begin with the end in mind. Information security is becoming a wide area of study with different areas of knowledge. Do you know what area interests you? Begin learning about the field by studying the different fields that comprise information security—see the resources below. Once you have an idea of what interests you, begin studying that area. There are many different career paths that sound appealing to you. Look at security job descriptions at companies that interest you. What skills do they require? If you do not possess that skill set, how do you obtain it? Align your studies to include these necessary skills. Access to a lab helps solidify academic concepts (e.g., do it, do not just read about it).', + key: 'get-started-infosec', + }, + { + question: 'What resources do you recommend?', + answer: ( +
+

Wargames:

+ +

CTF Workshop: https://github.com/kablaa/CTF-Workshop

+

x86 Assembly Crash Course: https://youtu.be/75gBFiFtAb8

+

+ LiveOverflow: https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w +

+

ippsec: https://www.youtube.com/channel/UCa6eh7gCkpPo5XXUDfygQQA

+

Penetration Testing: https://github.com/enaqx/awesome-pentest

+

+ Starting Out: High school oriented CTF such as PicoCTF (start small, + learn concepts) +

+
+ ), + key: 'recommended-resources', + }, + { + question: 'How do I get my first information security internship?', + answer: + 'Many of the talks given at Hack@UCF consist of material that will be usable in the information security field. That being said, many of the people giving these talks are people who can lead you in the right direction to land an information security internship. We also host workshops covering hands-on material where you can apply the concepts learned in these talks.', + key: 'first-infosec-internship', + }, + { + question: 'I have additional questions not answered here.', + answer: 'Contact ops@hackucf.org and we will do our best to help you out.', + key: 'additional-questions', + }, + { + question: 'What does Cyber touch?', + answer: 'Everything.', + key: 'cyber-touch', + }, +]; export default function FAQ() { return ( diff --git a/app/routes/nonprofit.tsx b/app/routes/nonprofit.tsx new file mode 100644 index 0000000..a2f793a --- /dev/null +++ b/app/routes/nonprofit.tsx @@ -0,0 +1,240 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from '@/components/ui/accordion'; +import { Link } from '@remix-run/react'; + +interface DonationTier { + tier: string; + amount: string; +} + +interface BylawSection { + subtitle: string; + text?: string; + table?: DonationTier[]; + list?: string[]; +} + +interface BylawArticle { + title: string; + content: BylawSection[]; +} + +const BYLAWS: BylawArticle[] = [ + { + title: 'Article I—Collegiate Cyber Defense Club Incorporated', + content: [ + { + subtitle: 'Section 1: Name', + text: "The name of this organization shall be Collegiate Cyber Defense Club Incorporated. It is referred to as the 'Organization' in this document.", + }, + ], + }, + { + title: 'Article II—Mission and Goals', + content: [ + { + subtitle: 'Section 1: Mission', + text: "The mission of the Collegiate Cyber Defense Club Incorporated (the 'Organization') is to establish a Computer Security community within the University of Central Florida (UCF), to provide a venue for students to improve their computer security skills, and to foster a spirit of ethics with the training we provide. We will accomplish this by supporting the Collegiate Cyber Defense Club, a Registered Student Organization (RSO) registered with the University of Central Florida's Student Government Association, henceforth referred to as the Club. Through all of this we hope to produce a security aware generation in Central Florida.", + }, + { + subtitle: 'Section 2: Goals', + text: 'We desire to provide an outlet to gain new skills and share information both across the greater Central Florida area and around the world. We hope to share our knowledge and skills with all that seek to learn.', + }, + { + subtitle: 'Section 3: Governing Authority', + text: 'The Organization is beholden to the Club. All activities and functions of the Organization must be legal under local, state, and federal laws. Within these bylaws, a majority shall be defined as "more than 50%." The Organization is a 501(c)(3) non-profit organization and must act to further the Mission and Goals defined.', + }, + ], + }, + { + title: 'Article III—Membership', + content: [ + { + subtitle: 'Section 1: Membership Statement', + text: "Membership in the Organization, excluding membership via Director establishment, is subject to approval by more than 20% of active directors or by an executive election within the Club. The Director positions of President, Vice President, Treasurer, and Secretary are to mirror the Club's. In general, people interested in volunteering for, or participating in, the Organization should become members of the Club. The Organization will sponsor any volunteering paperwork and tax receipts for supporting the Club.", + }, + { + subtitle: 'Section 2: Director Turn-Over', + text: "Directors are to mirror the positions of President, Vice President, Treasurer, and Secretary of the Club (henceforth known as the 'Executives'). Fourteen days after the Club's executives have been elected, the director board must be updated to stay in sync with the Executives. Previous Executives are to be demoted to being standard members and can decide to leave at any time.", + }, + { + subtitle: 'Section 3: Voting Rights', + text: 'Individuals with Membership cannot vote and all decisions are to be determined by Directors.', + }, + { + subtitle: 'Section 4: Revocation of Membership', + text: 'Membership may be revoked without mutual agreement for non-participation, misconduct, or violations of any provisions of the Bylaws. The member will be notified in writing of the possible revocation at least 72 hours prior to the vote and will be allowed to address the organization in order to relate to members any relevant defense prior to the voting for removal. Membership can only be revoked upon a 2/3 affirmative vote of active student members.', + }, + { + subtitle: 'Section 5: Reinstatement of Membership', + text: 'Reinstatement is subject to approval by 10% of directors.', + }, + ], + }, + { + title: 'Article IV—Directors', + content: [ + { + subtitle: 'Section 1: Eligibility', + text: 'Directors, consisting of a President, Vice President, Treasurer, and Secretary, must be Executives of the Club with the same titles.', + }, + ], + }, + { + title: 'Article V—Finances', + content: [ + { + subtitle: 'Section 1: The Club and the Organization', + text: "The Club is required to donate an amount equivalent to the Organization's operational expenses, including the annual Sunbiz registration fees, officer changes, and IRS filings. If this does not happen in a timely fashion, the Organization has to front the cost and support of the Club can be paused until payment is made.", + }, + { + subtitle: 'Section 2: Donations', + text: 'External parties are permitted to donate monetary and non-monetary assets to the Organization, as described in Sections 3 and 4.', + }, + { + subtitle: 'Section 3: Monetary Donations', + text: 'We accept monetary donations to help cover the cost of operating our organization and to allow us to further our mission. This will typically be done by acquiring more hardware/software for the Club, finance scholarships, subsidize conferences trips for Club members, and more.', + table: [ + { tier: 'Bronze', amount: '≥ $1,000' }, + { tier: 'Silver', amount: '≥ $3,000' }, + { tier: 'Gold', amount: '≥ $6,000' }, + { tier: 'Platinum', amount: '≥ $10,000' }, + ], + }, + { + subtitle: 'Section 4: Non-Monetary Donations', + text: 'Any donations of software or hardware to the Organization will be accepted, given that the donation follows local, state, and federal laws. Donations valued above $1200 will be declared a Bronze donor. For entities that wish to donate enough software or hardware for all of our dues-paying members, they will be declared a Silver donor given the value of each asset is over $15.', + }, + { + subtitle: 'Section 5: Financial Authority', + text: 'For the protection of the Organization and its directors, it is required the Directors maintain an Expense Authorization Policy. The policy must contain a Conflict of Interest policy. The Expense Authorization Policy may be amended with a majority vote of directors. Organizational funds may be spent on items such as office supplies, events and activities, publicity, travel expenses, and conference fees, but will not be used for anything illegal under University, local, state, and federal laws. All funds must be deposited within 24 business hours after collection', + }, + { + subtitle: 'Section 6: Director Transition', + text: "It shall be the responsibility of all account signers to change contact information, as well as assist in the update of new account signatures with the organization's financial institution after each election. In addition, it is the outgoing Treasurer's responsibility to compile and present all banking documents and information about the previous and current budget to the new Treasurer.", + }, + { + subtitle: 'Section 7: Dissolution of Organization', + text: "In the event that the Organization ceases to exist, any funds remaining in the organization's account shall be donated to either the Club or the following: Electronic Frontier Foundation, 815 Eddy Street, San Francisco, CA 94109 USA, Phone: +1-415-436-9333, Fax: +1-415-436-9993", + }, + ], + }, + { + title: 'Article VI—Ratification and Empowerment', + content: [ + { + subtitle: 'Section 1: Ratification', + text: 'These bylaws will become ratified by a 2/3 approval of the Directors of the organization.', + }, + { + subtitle: 'Section 2: Empowerment', + text: 'These bylaws and any amendments will be effective 12 hours after ratification.', + }, + ], + }, + { + title: 'Article VII—Risk Management', + content: [ + { + subtitle: 'Section 1: General', + text: 'The organization will follow reasonable good-practice risk management and cybersecurity guidelines and procedures for all activities. Additionally, officers of the organization will continually review organizational procedures in an attempt to minimize any potential internal risks.', + }, + ], + }, + { + title: 'Article VIII—Amendments', + content: [ + { + subtitle: 'Section 1: General', + text: 'Amendments to these Bylaws must be proposed by any member of the Organization (including non-directors) in writing to the active President. The amendment must then be presented to the Organization by serving Directors and should include a full explanation and/or rationale for the amendment. The amendment must be voted on by all serving Directors in the next Operations meeting (hosted by the Club and attended by their Operations board) and approved by a 2/3 affirmative vote of serving Directors. Ratified amendments must then be available to the public and listed below:', + }, + { + subtitle: 'Section 2: History of Bylaws', + list: [ + 'Created & Ratified: 20 Sep 2022', + 'Monetary Donations modified as per current Prospectus: 20 June 2023', + 'Updated Financial Authority Article V Section 5: 14 October 2024', + ], + }, + ], + }, +]; + +export default function Nonprofit() { + return ( +
+
+
+

Nonprofit Bylaws

+ + Back to About Us + +
+ + + {BYLAWS.map(article => ( + + + {article.title} + + + {article.content.map(section => ( +
+

+ {section.subtitle} +

+

{section.text}

+ {section.table && ( + + + + + + + + + {section.table?.map(row => ( + + + + + ))} + +
+ Tier + + Monetary Donation Amount +
+ {row.tier} + + {row.amount} +
+ )} + {section.list && ( +
    + {section.list?.map(item => ( +
  • {item}
  • + ))} +
+ )} +
+ ))} +
+
+ ))} +
+
+
+ ); +}