Welcome to the OMR24 Festival Web Application. This project consists of three main components:
- OMR24 Festival Home: The landing page for the festival, featuring general information and navigation.
- OMR24 Speakers: A page listing all the speakers participating in the festival.
- OMR24 Speaker Details: A detailed view for each speaker, showcasing their information and related events.
-
Make sure you have
json-serverinstalled. You can install it globally using npm:npm install -g json-server json-server --watch speakers_events.json
-
Ensure the JSON server is running and accessible at
http://localhost:3000/speakerfor the data fetching to work. -
Place all images, fonts, and videos in the appropriate directories as referenced in the HTML and CSS files.
-
Open each site in a web browser to view it.
- Menu Toggle: Displays the dropdown menu on hover and hides it when the mouse leaves.
- Language Selector: Allows users to switch between English and German, with dynamic flag updates.
- Captcha Verification: Captcha logic simulates verification with visual feedback.
- Chat Popup: Manages the contact form popup, including opening, closing, and showing a thank you message.
- Footer and Social Icons: Disables default actions for footer and social icon links.
- Responsive Design: Menu and language selector adapt for mobile and desktop views.
Below you will find a detailed description of each component.
This page serves as the central hub for information and navigation related to the OMR24 event, featuring dynamic content and interactive elements to enhance the user experience.
- Teaser Video: Autoplaying video that introduces the OMR24 festival.
- Festival Overview: Provides an introduction to the festival, including key information and highlights.
- Speaker Banner: Contains a call-to-action button to view all speakers.
- Highlights Section: Displays a recap of the previous year's festival with an embedded YouTube video (functionality yet to be implemented).
- Concert Banner: Features a prominent live concert announcement with a button to watch an offical music video of the showcased artist.
- Stages and Formats Slider: Interactive slider showcasing different stages at the festival.
- Exhibitor Section: Information and call-to-action for becoming an exhibitor.
- Partners Section: Displays logos of festival partners and exhibitors.
- Newsletter Signup: Allows users to subscribe for the latest news and updates about the festival with an anti-robot verification system.
- Footer: Includes the site map and social media icons for engagement.
- HTML:
omr_home.html- The main structure of the homepage. - CSS:
/omr.css- Styling for the homepage. - JavaScript:
omr_home.js- Handles dynamic content loading, event handling and UI interactions.
- Language Selector: Allows users to switch between English and German, with dynamic flag updates.
This webpage showcases speakers for the OMR24 festival. It includes a dynamic interface to filter and display speaker information fetched from a local JSON file.
- Dynamic Speaker Cards: Displays speaker information dynamically.
- Filtering Options: Filter speakers by topics and days.
- Search Functionality: Search for speakers by name.
- Load More: Load additional speakers with a button click.
- HTML:
omr_speakers.html- Main structure of the page. - CSS:
/omr.css- Styling for the page. - JavaScript:
omr_speakers.js- Handles dynamic content loading, event handling and UI interactions.
- Fetching Speaker Data: The
fetchSpeakersDatafunction retrieves and stores speaker data from the API. - Creating Speaker Cards: The
createSpeakerCardfunction generates clickable cards for each speaker. - Initializing Display: The
initializeSpeakersfunction displays the first 12 speakers and shows a "Load More" button if additional speakers exist. - Loading More Speakers: The
renderMoreSpeakersfunction adds the next 12 speakers and hides the "Load More" button if no more speakers are available. - Filtering Speakers: The
filterSpeakersfunction filters speakers based on selected topics and days. - Updating Displayed Speakers: The
updateDisplayedSpeakersfunction refreshes the speaker list according to selected criteria. - Handling Search Input: The
filterSpeakersBySearchfunction updates the speaker display based on the search term. - Initialization: The
initializeAppfunction sets up the app by fetching data and displaying initial content.
This is the detail page for the OMR24 festival speakers. It dynamically displays information about a specific speaker and their associated events.
- Speaker Details: Displays speaker's photo, name, title, topics and description.
- Events Listing: Shows events related to the speaker, which are dynamically fetched and rendered.
- Event Modal: Provides detailed information about each event when clicked.
- HTML:
omr_speakers_detail.html- Main structure of the page. - CSS:
/omr.css- Styling for the page. - JavaScript:
omr_speakers_detail.js- Handles dynamic content loading, event handling and UI interactions.
- Fetching Data: The
fetchSpeakerByIdfunction retrieves speaker data based on the ID in the URL. - Rendering Data: The
renderSpeakerDetailsfunction populates the page with speaker and event information. - Event Handling: Click events trigger modals for event details and show/hide the contact form.
For further customization or support, please contact me at schwartz.miriam@gmail.com