+ I am a highly motivated Computer Science Graduate with a strong foundation in programming, algorithms, and software development. Seeking opportunities to leverage my skills in a dynamic environment.
+
+
+
+
+
+
+
+
+
+
Skills
+
+
+
+
Front-End
+
+
HTML, CSS, JavaScript, React
+
+
+
+
Back-End
+
+
Node.js, Express, Django
+
+
+
+
Databases
+
+
MySQL, MongoDB
+
+
+
+
+
+
+
+
+
+
+
Experience
+
+
+
+
Unity Developer - Tuwaiq Academy | Bootcamp
+
May 2024 – Jul 2024
+
+
Implemented and optimized game physics, animations, and AI behavior for immersive gameplay.
+
Developed custom shaders and visual effects to enhance the visual appeal of 3D environments.
+
Collaborated with artists and designers to integrate 2D/3D assets.
+
+
+
+
+
+
Software Developer - Saudi Digital Academy | Bootcamp
+
May 2022 – Sep 2022
+
+
Completed an intensive bootcamp to become a Full Stack Developer, mastering multiple programming languages and frameworks.
+
Applied MVC techniques using technologies such as Java, JavaScript, Python, MERN stack, Django, and Spring Boot.
+
Developed and deployed full-stack web applications with front-end and back-end integration.
+
+
+
+
+
+
+
+
+
+
+
+
Projects
+
+
+
+
Smart Weather Project (with Jira)
+
Aug 2024
+
Utilized Agile Scrum Master principles to develop a comprehensive weather information platform with a web portal and mobile apps.
+
+
+
+
+
Web Platform
+
Jul 2024
+
Created a dynamic web platform for easy access to religious fatwas and resources concerning the Two Holy Mosques.
+
+
+
+
+
KHADERHA Hackathon
+
Aug 2022
+
Created a website focused on promoting environmental sustainability by tackling desertification.
+
+
+
+
+
+
+
+
+
+
diff --git a/RiyadhExpo/cv/tests.py b/RiyadhExpo/cv/tests.py
new file mode 100644
index 0000000..7ce503c
--- /dev/null
+++ b/RiyadhExpo/cv/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/RiyadhExpo/cv/urls.py b/RiyadhExpo/cv/urls.py
new file mode 100644
index 0000000..6f6f6b4
--- /dev/null
+++ b/RiyadhExpo/cv/urls.py
@@ -0,0 +1,6 @@
+from django.urls import path
+from . import views
+
+urlpatterns = [
+ path('cv/', views.index_view, name='index'),
+]
diff --git a/RiyadhExpo/cv/views.py b/RiyadhExpo/cv/views.py
new file mode 100644
index 0000000..9507e25
--- /dev/null
+++ b/RiyadhExpo/cv/views.py
@@ -0,0 +1,5 @@
+from django.shortcuts import render
+
+# Create your views here.
+def index_view(request):
+ return render(request, 'cv/cv.html')
diff --git a/RiyadhExpo/main/__init__.py b/RiyadhExpo/main/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/RiyadhExpo/main/admin.py b/RiyadhExpo/main/admin.py
new file mode 100644
index 0000000..8c38f3f
--- /dev/null
+++ b/RiyadhExpo/main/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/RiyadhExpo/main/apps.py b/RiyadhExpo/main/apps.py
new file mode 100644
index 0000000..34f1451
--- /dev/null
+++ b/RiyadhExpo/main/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class MainConfig(AppConfig):
+ default_auto_field = "django.db.models.BigAutoField"
+ name = "main"
diff --git a/RiyadhExpo/main/migrations/__init__.py b/RiyadhExpo/main/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/RiyadhExpo/main/models.py b/RiyadhExpo/main/models.py
new file mode 100644
index 0000000..71a8362
--- /dev/null
+++ b/RiyadhExpo/main/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/RiyadhExpo/main/static/css/introduction/styles.css b/RiyadhExpo/main/static/css/introduction/styles.css
new file mode 100644
index 0000000..839baae
--- /dev/null
+++ b/RiyadhExpo/main/static/css/introduction/styles.css
@@ -0,0 +1,476 @@
+/* General Reset */
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+html, body {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+/* Content should push the footer to the bottom */
+body > .content {
+ flex: 1;
+ margin-bottom: -1px;
+}
+/* Welcome Text Styling */
+.display-4 {
+ font-size: 3rem;
+ font-weight: bold;
+ margin-bottom: 20px;
+}
+
+/* Video Container */
+.video-container {
+ display: flex;
+ justify-content: center;
+ margin: 30px 0;
+}
+
+/* Content Styling */
+.lead {
+ font-size: 1.2rem;
+ line-height: 1.8;
+ margin: 20px 0;
+}
+
+h3 {
+ margin-top: 30px;
+ font-weight: bold;
+ color: #ffcc00;
+}
+
+/* Card Styles */
+.card {
+ margin-top: 20px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+ transition: transform 0.3s, box-shadow 0.3s;
+}
+
+.card:hover {
+ transform: scale(1.05);
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
+}
+
+.card-title {
+ font-weight: bold;
+ color: #333;
+}
+
+.card-text {
+ color: #555;
+}
+.container {
+ max-width: 1000px;
+ margin: 30px auto;
+ display: flex;
+ flex-direction: row; /* Align cards horizontally */
+ justify-content: center; /* Center the cards */
+ gap: 50px; /* Space between cards */
+ flex-wrap: wrap; /* Allow cards to wrap to the next line if the screen width is too small */
+}
+
+/* Navbar Gradient Styling */
+.navbar {
+ background: linear-gradient(300deg, #0d1117, #1a1f24);
+ padding: 20px;
+ border-bottom: 1px solid rgba(112, 91, 91, 0.1);
+ transition: background 0.5s ease-in-out;
+}
+
+/* Navbar Link Styling */
+.nav-link {
+ font-size: 16px;
+ font-weight: 500;
+ color: white;
+ margin-right: 15px;
+ transition: color 0.3s ease-in-out;
+}
+
+/* Navbar Link Hover Effect */
+.nav-link:hover {
+ color: #f06724;
+}
+
+/* Custom Button in Navbar */
+.btn-custom {
+ background-color: #6c757d;
+ color: white;
+ border: none;
+ transition: background-color 0.3s ease, transform 0.2s ease;
+}
+
+.btn-custom:hover {
+ background-color: #f06724;
+ transform: scale(1.05);
+ color: white;
+}
+
+/* General Spacing for Article */
+.article-text {
+ font-size: 1.1rem;
+ line-height: 1.6;
+}
+
+/* Make Images Look Better */
+.img-fluid {
+ max-height: 300px;
+ object-fit: cover;
+}
+
+/* Add Shadow to Article */
+article {
+ background-color: #f9f9f9;
+ border-radius: 10px;
+ padding: 30px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+}
+
+/* Add Shadow to Images */
+.img-fluid {
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+}
+
+/* Padding for Headers */
+article h3 {
+ color: #343a40;
+ font-weight: bold;
+}
+/* Large screens (desktops) */
+@media (min-width: 992px) {
+ .article-text {
+ font-size: 1.2rem;
+ }
+ .navbar {
+ padding: 20px 40px;
+ }
+}
+
+/* Medium screens (tablets) */
+@media (min-width: 768px) and (max-width: 991.98px) {
+ .article-text {
+ font-size: 1.1rem;
+ }
+ .content {
+ padding: 20px;
+ }
+}
+
+/* Small screens (phones) */
+@media (max-width: 767.98px) {
+ .article-text {
+ font-size: 1rem;
+ text-align: justify; /* Makes text easier to read on smaller screens */
+ }
+ .navbar-brand img {
+ height: 30px; /* Adjust logo size for small screens */
+ }
+ .footer {
+ font-size: 0.8rem;
+ }
+}
+/* Button with Transition */
+.btn-custom {
+ background-color: #6c757d;
+ color: white;
+ border: none;
+ transition-property: background-color, transform; /* Apply transition to color and transform */
+ transition-duration: 0.3s; /* Transition duration is 0.3 seconds */
+}
+
+.btn-custom:hover {
+ background-color: #f06724; /* Change background color on hover */
+ transform: scale(1.05); /* Slightly increase button size on hover */
+}
+
+h2, h3 {
+ color: #333;
+}
+ul {
+ list-style-type: disc;
+ margin-left: 20px;
+}
+
+.goals-section {
+ max-width: 1000px;
+ margin: 30px auto;
+ display: flex;
+ flex-direction: row; /* Align cards horizontally */
+ gap: 15px; /* Space between cards */
+ flex-wrap: wrap; /* Allow cards to wrap to the next line if screen width is too small */
+}
+
+.card {
+ border-radius: 6px;
+ color: white;
+ width: 230px; /* Set a fixed width for consistency */
+ padding: 10px;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ font-size: 0.9rem; /* Smaller font size for compact appearance */
+}
+
+.card-header {
+ font-weight: bold;
+ margin-bottom: 5px;
+ font-size: 1rem; /* Make header font smaller */
+}
+
+.card-danger {
+ background-color: #dc3545; /* Red color for danger card */
+}
+
+.card-warning {
+ background-color: #ffc107; /* Yellow color for warning card */
+ color: #333; /* Dark text for contrast */
+}
+
+.card-info {
+ background-color: #17a2b8; /* Blue color for info card */
+}
+
+.card-success {
+ background-color: #28a745; /* Green color for success card */
+}
+
+.card h4 {
+ margin: 0;
+ font-size: 1.1rem;
+ margin-bottom: 5px;
+}
+
+.card p {
+ margin: 0;
+ font-size: 0.85rem;
+}
+.table-section {
+ margin: 30px auto;
+ max-width: 800px;
+}
+
+.styled-table {
+ width: 100%;
+ border-collapse: collapse;
+ margin: 20px 0;
+ font-size: 1rem;
+ text-align: left;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Light shadow for elevation */
+}
+
+.styled-table thead th {
+ background-color: #ffc107; /* Yellow background for the header, similar to your image */
+ color: #333; /* Darker text for contrast */
+ font-size: 1.2rem; /* Larger font size for the header */
+ padding: 12px; /* Padding for a neat look */
+ font-weight: bold;
+ border: 1px solid #ccc; /* Border to match with the body cells */
+}
+
+.styled-table tbody td {
+ padding: 10px;
+ border: 1px solid #ccc; /* Light border for cell separation */
+ background-color: #fff; /* White background for a clean look */
+}
+
+.styled-table tbody tr:nth-child(even) {
+ background-color: #f9f9f9; /* Light grey background for alternating rows */
+}
+
+.styled-table tbody tr:hover {
+ background-color: #f1f1f1; /* Light highlight on row hover for interactivity */
+}
+
+.image-section {
+ text-align: center;
+ margin: 30px 0;
+}
+/* Image with Transition */
+.img-fluid {
+ transition: transform 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
+}
+
+.img-fluid:hover {
+ transform: scale(1.1); /* Zoom the image slightly on hover */
+ box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); /* Add a shadow on hover */
+}
+/* Keyframe Animation for Heading */
+@keyframes fadeInUp {
+ 0% {
+ opacity: 0;
+ transform: translateY(20px); /* Start 20px below */
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0); /* End at original position */
+ }
+}
+
+/* Apply the Animation to Headings */
+h2, h3 {
+ animation-name: fadeInUp; /* Reference the keyframe name */
+ animation-duration: 1s; /* Animation lasts 1 second */
+ animation-timing-function: ease-in-out; /* Easing for smooth movement */
+ animation-delay: 0.2s; /* Start the animation after 0.2s */
+ animation-fill-mode: both; /* Ensure element stays in its final position */
+}
+
+/* :hover for Links */
+.nav-link:hover {
+ color: #f06724; /* Change color when hovered */
+ text-decoration: underline; /* Add underline to indicate link hover */
+}
+
+/* :nth-child to Style Every Second Paragraph Differently */
+.article-text:nth-child(2n) {
+ background-color: #f9f9f9; /* Light grey background for every second paragraph */
+ padding: 10px; /* Add padding for readability */
+ border-radius: 5px;
+}
+
+/* ::before and ::after for Headings */
+h3::before {
+ content: '⭐'; /* Add a star icon before each h3 heading */
+ color: #f06724;
+ margin-right: 5px;
+}
+
+h3::after {
+ content: ' ✨'; /* Add sparkle after each h3 heading */
+ color: #f06724;
+ margin-left: 5px;
+}
+
+/* Button with :hover */
+.btn-custom {
+ background-color: #6c757d;
+ color: white;
+ border: none;
+ transition: background-color 0.3s, transform 0.3s;
+}
+
+.btn-custom:hover {
+ background-color: #f06724;
+ transform: scale(1.05);
+}
+
+/* Animation Example for Buttons */
+@keyframes bounce {
+ 0%, 20%, 50%, 80%, 100% {
+ transform: translateY(0);
+ }
+ 40% {
+ transform: translateY(-10px);
+ }
+ 60% {
+ transform: translateY(-5px);
+ }
+}
+
+/* Add Animation on Hover */
+.btn-custom:hover {
+ animation: bounce 1s; /* Add bounce effect when the button is hovered over */
+}
+
+/* Pseudo-elements for Blockquote */
+blockquote::before {
+ content: open-quote; /* Add opening quote */
+ font-size: 2rem;
+ color: #f06724;
+ margin-right: 5px;
+}
+
+blockquote::after {
+ content: close-quote; /* Add closing quote */
+ font-size: 2rem;
+ color: #f06724;
+ margin-left: 5px;
+}
+
+/* Form Container */
+.form-container {
+ max-width: 600px;
+ margin: 50px auto;
+ background-color: white;
+ padding: 30px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+ border-radius: 8px;
+}
+
+/* Form Title */
+.form-title {
+ text-align: center;
+ margin-bottom: 30px;
+ font-weight: bold;
+ color: #333;
+}
+
+/* Form Group Styling */
+.form-group label {
+ margin-bottom: 5px;
+ font-weight: 500;
+}
+
+.form-check-inline {
+ margin-right: 10px;
+}
+
+/* Input, Select, and Text Field Styles */
+input[type="text"],
+input[type="email"],
+input[type="tel"],
+select,
+textarea {
+ width: 100%;
+ padding: 10px;
+ margin-top: 5px;
+ margin-bottom: 15px;
+ border: 1px solid #ddd;
+ border-radius: 4px;
+ transition: border-color 0.3s;
+}
+
+input:focus,
+select:focus,
+textarea:focus {
+ border-color: #ffcc00;
+ outline: none;
+}
+
+/* Terms Checkbox */
+.terms {
+ font-size: 0.9rem;
+ margin-bottom: 20px;
+}
+
+/* Submit Button Styling */
+.submit-btn {
+ background-color: #ffcc00;
+ color: black;
+ border: none;
+ width: 100%;
+ padding: 10px;
+ border-radius: 5px;
+ font-weight: bold;
+ transition: background-color 0.3s ease;
+ cursor: pointer;
+}
+
+.submit-btn:hover {
+ background-color: #e6b800;
+}
+
+/* Responsive Design */
+@media (max-width: 768px) {
+ .form-container {
+ margin: 20px;
+ padding: 20px;
+ }
+}
+
+footer {
+ flex-shrink: 0; /* Ensure footer stays at the bottom */
+ background-color: #343a40;
+ padding: 10px 0; /* Adjust padding to avoid extra spacing */
+}
diff --git a/RiyadhExpo/main/static/images/ai_future.jpeg b/RiyadhExpo/main/static/images/ai_future.jpeg
new file mode 100644
index 0000000..7bf9021
Binary files /dev/null and b/RiyadhExpo/main/static/images/ai_future.jpeg differ
diff --git a/RiyadhExpo/main/static/images/ai_security.jpeg b/RiyadhExpo/main/static/images/ai_security.jpeg
new file mode 100644
index 0000000..cf604c8
Binary files /dev/null and b/RiyadhExpo/main/static/images/ai_security.jpeg differ
diff --git a/RiyadhExpo/main/static/images/ai_sustainability.jpeg b/RiyadhExpo/main/static/images/ai_sustainability.jpeg
new file mode 100644
index 0000000..1e35154
Binary files /dev/null and b/RiyadhExpo/main/static/images/ai_sustainability.jpeg differ
diff --git a/RiyadhExpo/main/static/images/ai_vision_future.jpeg b/RiyadhExpo/main/static/images/ai_vision_future.jpeg
new file mode 100644
index 0000000..becbc5d
Binary files /dev/null and b/RiyadhExpo/main/static/images/ai_vision_future.jpeg differ
diff --git a/RiyadhExpo/main/static/images/ai_visitor_experience.jpeg b/RiyadhExpo/main/static/images/ai_visitor_experience.jpeg
new file mode 100644
index 0000000..3319ac6
Binary files /dev/null and b/RiyadhExpo/main/static/images/ai_visitor_experience.jpeg differ
diff --git a/RiyadhExpo/main/static/images/background.jpeg b/RiyadhExpo/main/static/images/background.jpeg
new file mode 100644
index 0000000..7abf69e
Binary files /dev/null and b/RiyadhExpo/main/static/images/background.jpeg differ
diff --git a/RiyadhExpo/main/static/images/background_1.jpeg b/RiyadhExpo/main/static/images/background_1.jpeg
new file mode 100644
index 0000000..25d6706
Binary files /dev/null and b/RiyadhExpo/main/static/images/background_1.jpeg differ
diff --git a/RiyadhExpo/main/static/images/expo_card1.jpeg b/RiyadhExpo/main/static/images/expo_card1.jpeg
new file mode 100644
index 0000000..be36a84
Binary files /dev/null and b/RiyadhExpo/main/static/images/expo_card1.jpeg differ
diff --git a/RiyadhExpo/main/static/images/expo_card2.jpeg b/RiyadhExpo/main/static/images/expo_card2.jpeg
new file mode 100644
index 0000000..c353735
Binary files /dev/null and b/RiyadhExpo/main/static/images/expo_card2.jpeg differ
diff --git a/RiyadhExpo/main/static/images/expo_card3.jpeg b/RiyadhExpo/main/static/images/expo_card3.jpeg
new file mode 100644
index 0000000..f0dd808
Binary files /dev/null and b/RiyadhExpo/main/static/images/expo_card3.jpeg differ
diff --git a/RiyadhExpo/main/static/images/expo_card4.jpg b/RiyadhExpo/main/static/images/expo_card4.jpg
new file mode 100644
index 0000000..78fac87
Binary files /dev/null and b/RiyadhExpo/main/static/images/expo_card4.jpg differ
diff --git a/RiyadhExpo/main/static/images/logo.png b/RiyadhExpo/main/static/images/logo.png
new file mode 100644
index 0000000..57de8e0
Binary files /dev/null and b/RiyadhExpo/main/static/images/logo.png differ
diff --git a/RiyadhExpo/main/static/images/logo_1.png b/RiyadhExpo/main/static/images/logo_1.png
new file mode 100644
index 0000000..2cded50
Binary files /dev/null and b/RiyadhExpo/main/static/images/logo_1.png differ
diff --git a/RiyadhExpo/main/static/videos/RiyadhExpo.mp4 b/RiyadhExpo/main/static/videos/RiyadhExpo.mp4
new file mode 100644
index 0000000..11b9cab
Binary files /dev/null and b/RiyadhExpo/main/static/videos/RiyadhExpo.mp4 differ
diff --git a/RiyadhExpo/main/templates/main/about.html b/RiyadhExpo/main/templates/main/about.html
new file mode 100644
index 0000000..a8083d8
--- /dev/null
+++ b/RiyadhExpo/main/templates/main/about.html
@@ -0,0 +1,111 @@
+{% load static %}
+
+
+
+
+
+ About RiyadhExpo 2030
+
+
+
+
+
+
+
+
+
+
+
About Riyadh Expo 2030
+
Riyadh Expo 2030 is an ambitious global event that aims to bring together nations, cultures, and ideas under one roof. The Expo is part of Saudi Vision 2030 and aims to showcase innovations in sustainability, technology, and culture. With its emphasis on future-forward thinking, Riyadh Expo 2030 will be a hub for collaboration, knowledge-sharing, and inspiration for the world.
+
+
Goals of Riyadh Expo 2030
+
+
+
Promote sustainability and green initiatives
+
+
+
Encouraging a greener future by promoting renewable energy and eco-friendly practices.
+
+
+
+
Encourage global collaboration and cultural exchange
+
+
Fostering partnerships and cultural exchange between participating countries.
+
+
+
+
Showcase advancements in technology and urban development
+
+
Presenting innovative solutions in technology and smart urban infrastructure.
+
+
+
+
Support economic growth and tourism in Saudi Arabia
+
+
+
Boosting the economy through increased tourism and international investments.
+
+
+
+
+
Key Features of Riyadh Expo 2030
+
+
+
+
+
Feature
+
Description
+
+
+
+
+
Sustainability
+
Focus on renewable energy and eco-friendly infrastructure throughout the Expo.
+
+
+
Cultural Exchange
+
Countries from around the world will present their cultures, offering visitors an immersive experience.
+
+
+
Technology and Innovation
+
Showcase of cutting-edge technologies in AI, urban development, and smart living solutions.
Artificial Intelligence (AI) is playing a critical role in shaping the vision of Riyadh Expo 2030. By integrating AI-driven technologies, the event aims to provide an enhanced, personalized experience for visitors while also ensuring the efficient management of resources. The Expo will showcase how AI can revolutionize tourism, sustainability, and urban development in line with Saudi Vision 2030.
+
+
+
+
+
Transforming Visitor Experience
+
+
+
+
+
+
AI technologies will be utilized to offer interactive and immersive experiences for visitors. From AI-powered guides that provide personalized recommendations to virtual reality tours of historical Saudi landmarks, the integration of AI promises to make Riyadh Expo 2030 an unforgettable event for all attendees.
+
+
+
+
+
Sustainable Development
+
+
+
+
+
+
Sustainability is a core value of Riyadh Expo 2030, and AI plays a key role in this initiative. Smart energy management systems, predictive maintenance for facilities, and AI-driven environmental monitoring will help minimize the carbon footprint and optimize resource usage, making the Expo an exemplar of sustainable urban planning.
+
+
+
+
+
AI for Enhanced Security
+
+
+
+
+
+
AI will also be deployed to ensure the safety and security of visitors. Through advanced surveillance systems, AI can detect unusual activities in real-time, ensuring a secure environment. Additionally, facial recognition technologies will streamline the entry process, making it faster and more efficient for attendees.
+
+
+
+
+
A Vision for the Future
+
+
+
+
+
+
Riyadh Expo 2030 is not just about showcasing technology—it’s about envisioning a future where AI works hand in hand with human ingenuity to create better living environments, improve efficiencies, and bring communities together. The event will highlight Saudi Arabia’s commitment to technological progress and sustainability, setting a new benchmark for international expos.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/RiyadhExpo/main/templates/main/book_event.html b/RiyadhExpo/main/templates/main/book_event.html
new file mode 100644
index 0000000..171ab10
--- /dev/null
+++ b/RiyadhExpo/main/templates/main/book_event.html
@@ -0,0 +1,127 @@
+{% load static %}
+
+
+
+
+
+ Conference Register
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Conference Registration
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/RiyadhExpo/main/templates/main/introduction.html b/RiyadhExpo/main/templates/main/introduction.html
new file mode 100644
index 0000000..df5ff60
--- /dev/null
+++ b/RiyadhExpo/main/templates/main/introduction.html
@@ -0,0 +1,121 @@
+{% load static %}
+
+
+
+
+
+ RiyadhExpo 2030
+
+
+
+
+
+
+
+
+
+
+
+
Welcome to Riyadh Expo 2030
+
+
+
+
+
+
+
+
+ About Riyadh Expo 2030 Riyadh Expo 2030 is an ambitious global event that aims to bring together nations, cultures, and ideas under one roof.
+ The Expo is part of Saudi Vision 2030 and aims to showcase innovations in sustainability, technology, and culture.
+ With its emphasis on future-forward thinking, Riyadh Expo 2030 will be a hub for collaboration, knowledge-sharing, and inspiration for the world.
+ Read More
+
+
The Era of Change: Together for a Foresighted Tomorrow
+
+ The Kingdom of Saudi Arabia achieved victory in the bid to host World Expo 2030 in Riyadh, under the captivating theme,
+ “The Era of Change: Together for a Foresighted Tomorrow.” Riyadh is poised to craft an unparalleled Expo edition that
+ will etch an indelible mark on the hearts and minds of its global visitors.
+
+
+
+
+
Riyadh Expo 2030 Key Themes
+
+
+
+
+
+
Sustainability Innovations
+
Discover groundbreaking solutions in sustainability and green technology that will shape the future of our planet.
+
+
+
+
+
+
+
+
+
Cultural Exchange
+
Explore the rich cultures of the world through exhibitions and performances, all under one roof in Riyadh.
+
+
+
+
+
+
+
+
+
Technological Innovations
+
Experience the latest technological breakthroughs that will redefine the future of industries.
+
+
+
+
+
+
+
+
+
Economic Growth and Development
+
Discover initiatives that promote economic growth, investment opportunities, and sustainable development, driving progress for future generations.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/RiyadhExpo/main/tests.py b/RiyadhExpo/main/tests.py
new file mode 100644
index 0000000..7ce503c
--- /dev/null
+++ b/RiyadhExpo/main/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/RiyadhExpo/main/urls.py b/RiyadhExpo/main/urls.py
new file mode 100644
index 0000000..d63580d
--- /dev/null
+++ b/RiyadhExpo/main/urls.py
@@ -0,0 +1,9 @@
+from django.urls import path
+from . import views
+
+urlpatterns = [
+ path('introduction/', views.introduction_view, name='introduction'),
+ path('about/', views.about_view, name='about'),
+ path('article/ai/', views.article, name='article'),
+ path('book/',views.bookevent_view, name="book_event"),
+]
diff --git a/RiyadhExpo/main/views.py b/RiyadhExpo/main/views.py
new file mode 100644
index 0000000..4c91f62
--- /dev/null
+++ b/RiyadhExpo/main/views.py
@@ -0,0 +1,14 @@
+from django.shortcuts import render
+
+def introduction_view(request):
+ return render(request, 'main/introduction.html')
+
+def about_view(request):
+ return render(request, 'main/about.html')
+
+def article(request):
+ return render(request, 'main/article.html')
+
+def bookevent_view(request):
+ return render(request,'main/book_event.html')
+
diff --git a/RiyadhExpo/manage.py b/RiyadhExpo/manage.py
new file mode 100644
index 0000000..1e8e950
--- /dev/null
+++ b/RiyadhExpo/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+ """Run administrative tasks."""
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "RiyadhExpo.settings")
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..e69de29