هذا الالتزام موجود في:
2025-10-15 17:22:06 +03:00
التزام bf22a0aeb6
4 ملفات معدلة مع 253 إضافات و0 حذوفات

17
Dockerfile Normal file
عرض الملف

@@ -0,0 +1,17 @@
# Use official nginx alpine image
FROM nginx:alpine
# Create directory for nginx config
RUN mkdir -p /etc/nginx/conf.d
# Copy static files
COPY index.html styles.css /usr/share/nginx/html/
# Copy nginx configuration
COPY nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf
# Expose port 80
EXPOSE 80
# Run nginx
CMD ["nginx", "-g", "daemon off;"]

47
index.html Normal file
عرض الملف

@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DrivePlatform - Smart File Search</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header>
<div class="logo">DrivePlatform</div>
<nav>
<a href="#features">المميزات</a>
<a href="#about">حول</a>
<a href="#contact">اتصل بنا</a>
</nav>
</header>
<section class="hero">
<h1>منصة درايف للطلاب السعوديين</h1>
<p>ساعد DrivePlatform الطلاب في العثور على المحاضرات والملاحظات والواجبات بسرعة من خلال فهم محتوى الملفات - وليس فقط أسمائها.</p>
<button class="cta-button">جربها مجاناً</button>
</section>
<section id="features" class="features">
<h2>مصممة خصيصاً للطلاب السعوديين</h2>
<div class="feature-grid">
<div class="feature-card">
<h3>بحث ذكي</h3>
<p>ابحث عن الملاحظات حسب الموضوع - ابحث عن "تركيب الخلية" للعثور على شرائح المحاضرات والقراءات ذات الصلة.</p>
</div>
<div class="feature-card">
<h3>تنظيم تلقائي</h3>
<p>يتم فرز الملفات تلقائيًا حسب المقرر الدراسي والموضوع، مما يوفر لك ساعات من التنظيم اليدوي.</p>
</div>
<div class="feature-card">
<h3>متكامل مع نظام التعليم</h3>
<p>تم تصميمه ليناسب نظام التعليم السعودي مع دعم خاص للمقررات الجامعية الشائعة.</p>
</div>
</div>
</section>
<footer>
<p>© 2025 DrivePlatform. All rights reserved.</p>
</footer>
</body>
</html>

29
nginx/conf.d/default.conf Normal file
عرض الملف

@@ -0,0 +1,29 @@
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
}
# Enable gzip compression
gzip on;
gzip_types text/css application/javascript;
# Cache control for static assets
location ~* \.(css|js)$ {
expires 1y;
add_header Cache-Control "public, no-transform";
}
# Don't cache HTML files
location ~* \.html$ {
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

160
styles.css Normal file
عرض الملف

@@ -0,0 +1,160 @@
:root {
--primary-color: #4285f4;
--secondary-color: #34a853;
--accent-color: #ea4335;
--text-color: #333;
--light-bg: #f8f9fa;
--dark-bg: #202124;
}
body {
font-family: 'Segoe UI', Roboto, 'Tahoma', 'Arial', sans-serif;
margin: 0;
padding: 0;
color: var(--text-color);
line-height: 1.6;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 2rem;
background-color: white;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary-color);
}
nav a {
margin-left: 1.5rem;
text-decoration: none;
color: var(--text-color);
transition: color 0.3s;
}
nav a:hover {
color: var(--primary-color);
}
.hero {
text-align: center;
padding: 5rem 2rem;
background: linear-gradient(135deg, var(--light-bg) 0%, white 100%);
}
.hero h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
color: var(--dark-bg);
}
.hero p {
max-width: 600px;
margin: 0 auto 2rem;
font-size: 1.2rem;
}
.cta-button {
background-color: var(--primary-color);
color: white;
border: none;
padding: 0.8rem 2rem;
font-size: 1rem;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s, transform 0.2s;
font-family: 'Segoe UI', Roboto, 'Tahoma', 'Arial', sans-serif;
}
[dir="rtl"] nav a {
margin-left: 0;
margin-right: 1.5rem;
}
[dir="rtl"] .feature-card {
text-align: right;
}
[dir="rtl"] .hero {
text-align: right;
}
[dir="rtl"] .features h2 {
text-align: center;
}
.cta-button:hover {
background-color: #3367d6;
transform: translateY(-2px);
}
.features {
padding: 4rem 2rem;
max-width: 1200px;
margin: 0 auto;
}
.features h2 {
text-align: center;
margin-bottom: 3rem;
font-size: 2rem;
}
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.feature-card {
background: white;
padding: 2rem;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s, box-shadow 0.3s;
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.feature-card h3 {
color: var(--primary-color);
margin-top: 0;
}
footer {
text-align: center;
padding: 2rem;
background-color: var(--light-bg);
margin-top: 3rem;
}
@media (max-width: 768px) {
header {
flex-direction: column;
padding: 1rem;
}
nav {
margin-top: 1rem;
}
nav a {
margin: 0 0.5rem;
}
.hero {
padding: 3rem 1rem;
}
.hero h1 {
font-size: 2rem;
}
}