diff --git a/FlexPage/FlexPage/__init__.py b/FlexPage/FlexPage/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FlexPage/FlexPage/asgi.py b/FlexPage/FlexPage/asgi.py new file mode 100644 index 0000000..912bf34 --- /dev/null +++ b/FlexPage/FlexPage/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for FlexPage project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FlexPage.settings') + +application = get_asgi_application() diff --git a/FlexPage/FlexPage/settings.py b/FlexPage/FlexPage/settings.py new file mode 100644 index 0000000..eb4e2a8 --- /dev/null +++ b/FlexPage/FlexPage/settings.py @@ -0,0 +1,124 @@ +""" +Django settings for FlexPage project. + +Generated by 'django-admin startproject' using Django 5.0.6. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/5.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-!uq4mx0u(nml%)0g(dtmgean)kf7^j7u&m+v9y2vs1a#8fv69-' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'main', +] +# is Done added name app خاللللللللللللللللللد +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'FlexPage.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'FlexPage.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/5.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/5.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/5.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/FlexPage/FlexPage/urls.py b/FlexPage/FlexPage/urls.py new file mode 100644 index 0000000..7a634cb --- /dev/null +++ b/FlexPage/FlexPage/urls.py @@ -0,0 +1,23 @@ +""" +URL configuration for FlexPage project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path +from django.urls import include +urlpatterns = [ + path('admin/', admin.site.urls), + path('', include("main.urls")) +] diff --git a/FlexPage/FlexPage/wsgi.py b/FlexPage/FlexPage/wsgi.py new file mode 100644 index 0000000..7628f79 --- /dev/null +++ b/FlexPage/FlexPage/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for FlexPage project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FlexPage.settings') + +application = get_wsgi_application() diff --git a/FlexPage/main/__init__.py b/FlexPage/main/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FlexPage/main/admin.py b/FlexPage/main/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/FlexPage/main/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/FlexPage/main/apps.py b/FlexPage/main/apps.py new file mode 100644 index 0000000..167f044 --- /dev/null +++ b/FlexPage/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/FlexPage/main/migrations/__init__.py b/FlexPage/main/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/FlexPage/main/models.py b/FlexPage/main/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/FlexPage/main/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/FlexPage/main/static/css/articleAiStyle.css b/FlexPage/main/static/css/articleAiStyle.css new file mode 100644 index 0000000..96033c9 --- /dev/null +++ b/FlexPage/main/static/css/articleAiStyle.css @@ -0,0 +1,111 @@ + +body { + font-family: Arial, sans-serif; + line-height: 1.6; + margin: 0; + padding: 0; + background-color: #f4f4f4; + color: #333; +} +.article-image { + width: 500px; + max-width: 100%; + height: auto; + border-radius: 8px; + margin: 15px auto; + display: block; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + transition: transform 0.3s ease; +} + +header:hover .article-image { + transform: scale(1.02); +} + +header, main, footer { + max-width: 800px; + margin: 20px auto; + padding: 10px; + transition: background-color 0.3s ease-in-out; +} + +header h1 { + font-size: 2em; + margin-bottom: 0.5em; + color: #0073e6; +} + +header:hover { + background-color: #e6f7ff; +} + +header p { + font-size: 1.1em; + color: #555; +} + + +section { + margin-bottom: 20px; + opacity: 0; + animation: fadeIn 1s forwards; +} + + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +section h2 { + color: #444; + font-size: 1.5em; + position: relative; + padding-bottom: 0.2em; +} + +section h2::after { + content: ""; + position: absolute; + left: 0; + bottom: 0; + width: 50px; + height: 2px; + background-color: #0073e6; + transition: width 0.3s ease; +} + +section:hover h2::after { + width: 100%; +} + +footer { + text-align: center; + font-size: 0.9em; + color: #666; + padding: 10px; + border-top: 1px solid #ddd; +} + +footer p { + color: #999; +} + +a:focus, button:focus, input:focus { + outline: 2px solid #0073e6; + outline-offset: 2px; +} + +a:focus-visible, button:focus-visible, input:focus-visible { + outline: 2px dashed #005bb5; +} + +header:hover h1 { + color: #005bb5; +} diff --git a/FlexPage/main/static/css/cvStyle.css b/FlexPage/main/static/css/cvStyle.css new file mode 100644 index 0000000..1b6233d --- /dev/null +++ b/FlexPage/main/static/css/cvStyle.css @@ -0,0 +1,95 @@ +body { + font-family: Arial, sans-serif; + line-height: 1.6; + background-color: rgb(244, 244, 249); + margin: 0; + padding: 0; + color:rgb(51, 51, 51); +} + +.container { + width: 80%; + margin: auto; + overflow: hidden; + padding: 20px; +} + +.header { + background:rgb(255, 255, 255); + padding: 20px; + border-radius: 8px; + margin: 20px 0; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); + text-align: center; +} + +.header h1 { + font-size: 2.5em; + transition: color 0.3s ease; +} + +.header h1:hover { + color: rgb(0, 123, 255) + ; +} + +.contact-info { + font-size: 0.9em; + color:rgb(85, 85, 85) + ; +} + +.profile-img { + width: 80px; + height: 80px; + border-radius: 50%; + object-fit: cover; + margin-left: 20px; +} + +.section { + background:rgb(255, 255, 255) + ; + margin: 20px 0; + padding: 20px; + border-radius: 8px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); + position: relative; + animation: fadeIn 1s ease-in-out; +} + +.section h2 { + border-bottom: 2px solid rgb(51, 51, 51); + padding-bottom: 5px; + margin-bottom: 15px; +} + +.section ul { + list-style-type: none; + padding: 0; +} + +.section ul li { + margin: 10px 0; +} + + +.section#education ul li:first-child { + font-weight: bold; +} + +.section ul li:hover { + color: rgb(0, 123, 255); + cursor: pointer; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +.section:focus-within { + outline: 2px dashed rgb(0, 123, 255) ; +} + + diff --git a/FlexPage/main/static/css/homeStyle.css b/FlexPage/main/static/css/homeStyle.css new file mode 100644 index 0000000..283d353 --- /dev/null +++ b/FlexPage/main/static/css/homeStyle.css @@ -0,0 +1,28 @@ +body { + font-family: Arial, sans-serif; + background-color: #f4f4f4; + color: #333; + margin: 20px; + text-align: center; +} + +h1 { + color: #5a5a5a; +} + +ul { + + padding: 0; +} + +li { + margin: 10px 0; +} + +a { + color: #007bff; +} + +a:hover { + color: #0056b3; +} diff --git a/FlexPage/main/static/images/DALLE2024.jpg b/FlexPage/main/static/images/DALLE2024.jpg new file mode 100644 index 0000000..f9fc836 Binary files /dev/null and b/FlexPage/main/static/images/DALLE2024.jpg differ diff --git a/FlexPage/main/static/images/WhatsApp Image 2024-10-29.jpg b/FlexPage/main/static/images/WhatsApp Image 2024-10-29.jpg new file mode 100644 index 0000000..03578e4 Binary files /dev/null and b/FlexPage/main/static/images/WhatsApp Image 2024-10-29.jpg differ diff --git a/FlexPage/main/static/images/download1.jpg b/FlexPage/main/static/images/download1.jpg new file mode 100644 index 0000000..96d062b Binary files /dev/null and b/FlexPage/main/static/images/download1.jpg differ diff --git a/FlexPage/main/static/images/mincer-mode.jpg b/FlexPage/main/static/images/mincer-mode.jpg new file mode 100644 index 0000000..515f7be Binary files /dev/null and b/FlexPage/main/static/images/mincer-mode.jpg differ diff --git a/FlexPage/main/static/images/python-django-1.jpg b/FlexPage/main/static/images/python-django-1.jpg new file mode 100644 index 0000000..17438a3 Binary files /dev/null and b/FlexPage/main/static/images/python-django-1.jpg differ diff --git a/FlexPage/main/static/videos/WhatsApp Video 2024-10-28 .mp4 b/FlexPage/main/static/videos/WhatsApp Video 2024-10-28 .mp4 new file mode 100644 index 0000000..669d3b8 Binary files /dev/null and b/FlexPage/main/static/videos/WhatsApp Video 2024-10-28 .mp4 differ diff --git a/FlexPage/main/templates/main/articleAi.html b/FlexPage/main/templates/main/articleAi.html new file mode 100644 index 0000000..d59562f --- /dev/null +++ b/FlexPage/main/templates/main/articleAi.html @@ -0,0 +1,65 @@ +{% load static %} + + + + + + Document + + + +
+ AI transforming content creation +

Article AI: How AI is Transforming Content Creation

+

Understanding how artificial intelligence is shaping the future of article generation and content enhancement.

+
+ +
+
+
+

1. Content Generation

+

AI can create entire articles based on prompts or keywords. By analyzing data and pulling information from vast sources, it can write coherent pieces on topics ranging from news to creative writing. Tools like GPT-based models (such as ChatGPT) are examples that can produce full-length articles.

+
+ +
+

2. Editing and Proofreading

+

AI tools like Grammarly and Hemingway use natural language processing (NLP) to identify and correct grammatical errors, improve readability, and suggest better phrasing. They also help detect plagiarism and check for tone, consistency, and adherence to style guides.

+
+ +
+

3. Summarization and Extraction

+

AI can condense long articles into summaries, making it easier for readers to quickly understand the content. This is especially useful for news aggregation and providing concise information from lengthy research articles.

+
+ +
+

4. Content Personalization

+

By analyzing user behavior and preferences, AI helps tailor content to individual readers. Platforms can present customized articles, recommend related topics, or even adjust writing styles to match audience demographics.

+
+ +
+

5. SEO Optimization

+

AI assists in optimizing articles for search engines by suggesting keywords, helping with meta tags, and structuring content for better ranking. AI-based SEO tools analyze trends, competitor content, and popular search terms to guide writers toward producing higher-ranking articles.

+
+ +
+

6. Visual and Multimedia Enhancements

+

AI can suggest images, infographics, and videos to pair with written content or even generate these assets automatically. For instance, DALL-E and other image generation models can create visuals based on the article’s content.

+
+ +
+

7. Translation and Multilingual Content

+

AI translation tools, like Google Translate and DeepL, allow articles to be translated into multiple languages, expanding their reach and accessibility worldwide.

+
+ +
+

Conclusion

+

While AI-driven article tools can significantly boost efficiency, creativity, and accessibility, they also raise ethical considerations regarding authorship, authenticity, and potential misinformation. Balancing AI-assisted writing with human oversight remains crucial to ensure high-quality, reliable, and ethically sound content.

+
+
+
+ + + + \ No newline at end of file diff --git a/FlexPage/main/templates/main/csstest.html b/FlexPage/main/templates/main/csstest.html new file mode 100644 index 0000000..f39189f --- /dev/null +++ b/FlexPage/main/templates/main/csstest.html @@ -0,0 +1,130 @@ + + + + + + Random HTML Page with Form + + + + + +
+

Random Form Page

+

Fill out the form below with some random information

+
+
+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit.
+ Commodi suscipit repellat sapiente voluptates quae! Excepturi.
+ veniam commodi harum laborum cumque, sapiente ad. Vel ipsa beatae
+ quis voluptatum voluptates, repellendus modi! +

+
Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis, ut?
+
+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit.
+ Eaque, earum a. Deserunt quibusdam doloribus temporibus? +

+
1
+
+
+

Random Information Form

+
+ + + + + + + + + + + + +
+ +
+ +

+ + + + +
+
+
+ + + + diff --git a/FlexPage/main/templates/main/cvpage.html b/FlexPage/main/templates/main/cvpage.html new file mode 100644 index 0000000..e6fa999 --- /dev/null +++ b/FlexPage/main/templates/main/cvpage.html @@ -0,0 +1,74 @@ +{% load static %} + + + + + + + + + + +
+
+

Khalid Al-Maghyadi

+

Riyadh, Saudi Arabia | Phone: +966 549234591 | Email: Khalidalmaghyadi@gmail.com

+ Khaled's Profile Picture +
+ +
+

Objective

+

An ambitious and hardworking individual, seeking a responsible career where my abilities can be highly utilized in a growth-oriented and professional manner to achieve goals and foster effective teamwork.

+
+ +
+

Education

+ +
+ +
+

Certifications

+ +
+ +
+

Skills

+ +
+ +
+

Courses

+ + +
+
+

Projects

+

Graduation Project: Let’s Padel

+

Players and court owners face difficulties in finding suitable courts or players and lack a platform for marketing and managing bookings.

+

Tools Used: Flutter, Firebase, Google Cloud Services

+
+ +
+

Languages

+ +
+
+ + \ No newline at end of file diff --git a/FlexPage/main/templates/main/home.html b/FlexPage/main/templates/main/home.html new file mode 100644 index 0000000..c4fb8d5 --- /dev/null +++ b/FlexPage/main/templates/main/home.html @@ -0,0 +1,21 @@ + + + + {% load static %} + + + Home + + + +

Home Page

+

Hi, this is a test

+

Select any page

+ + + diff --git a/FlexPage/main/templates/main/introduction.html b/FlexPage/main/templates/main/introduction.html new file mode 100644 index 0000000..2a2728c --- /dev/null +++ b/FlexPage/main/templates/main/introduction.html @@ -0,0 +1,99 @@ +{%load static%} + + + + + + introduction + + +

Learn the about HTML

+

is not order

+

test only

+

Hi

+
are you good
+
qwertwqreteds
+
+

+ use key word for by default paragraph make it :(Lorem) ipsum dolor sit amet consectetur
+ adipisicing elit.2323Ex nostrum deleniti,
+ doloribus quod quisquam alias similique id123456789 natus nam enim? +

+
+
Cities:
+ +
+
    +

    Full name:

    +
  1. First Name : Khalid
  2. +
  3. Middle Name: Ayidh
  4. +
  5. Lsat Name : ALMgahyadi
  6. +
+
+

view image by use static

+ Python logo +
+

Khalid ALFaisal

+ +
+ + + + + + + + + +
+ Name + + Position +
+ Khalid + + IT Developer +
+
+
+ + +

+ + +

+ + +

+ + + +

+ + +

+ +
+ +
+ +

+ + +
+ + + \ No newline at end of file diff --git a/FlexPage/main/tests.py b/FlexPage/main/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/FlexPage/main/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/FlexPage/main/urls.py b/FlexPage/main/urls.py new file mode 100644 index 0000000..7436374 --- /dev/null +++ b/FlexPage/main/urls.py @@ -0,0 +1,12 @@ +from django.urls import path +from . import views + +app_name = "main" + +urlpatterns = [ + path('', views.home_view, name='home_view'), + path('html/introduction/', views.introduction_view, name='introduction_view'), + path('css/introduction/' , views.css_view , name='css_view'), + path('article/ai', views.article_ai_view , name='article_ai_view' ), + path('careers/cv/' , views.cv_view , name='cv_view') +] diff --git a/FlexPage/main/views.py b/FlexPage/main/views.py new file mode 100644 index 0000000..ed5bd41 --- /dev/null +++ b/FlexPage/main/views.py @@ -0,0 +1,25 @@ +from django.shortcuts import render + +# Create your views here. +from django.http import HttpRequest , HttpResponse + + +def home_view(request:HttpRequest): + + return render(request , "main/home.html") + +def introduction_view(request:HttpRequest): + + return render(request , "main/introduction.html") + +def css_view(request:HttpRequest): + + return render(request , "main/csstest.html") + +def article_ai_view(request:HttpRequest): + + return render(request,'main/articleAi.html') + +def cv_view(request:HttpRequest): + + return render(request,'main/cvpage.html') \ No newline at end of file diff --git a/FlexPage/manage.py b/FlexPage/manage.py new file mode 100644 index 0000000..03bba91 --- /dev/null +++ b/FlexPage/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', 'FlexPage.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()