feat: Add comprehensive documentation suite and reorganize project structure

- Created complete documentation in docs/ directory
- Added PROJECT_OVERVIEW.md with feature highlights and getting started guide
- Added ARCHITECTURE.md with system design and technical details
- Added SECURITY.md with comprehensive security implementation guide
- Added DEVELOPMENT.md with development workflows and best practices
- Added DEPLOYMENT.md with production deployment instructions
- Added API.md with complete REST API documentation
- Added CONTRIBUTING.md with contribution guidelines
- Added CHANGELOG.md with version history and migration notes
- Reorganized all documentation files into docs/ directory for better organization
- Updated README.md with proper documentation links and quick navigation
- Enhanced project structure with professional documentation standards
This commit is contained in:
SamiAhmed7777
2025-10-21 00:39:45 -07:00
commit 0b7e2d0a5b
6080 changed files with 1332936 additions and 0 deletions

3
f_scripts/fe/css/channel.init.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
f_scripts/fe/css/custom.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,146 @@
/* EasyStream Enhanced Styles */
.video-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 20px;
padding: 20px;
}
.video-item {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
overflow: hidden;
transition: transform 0.2s;
}
.video-item:hover {
transform: translateY(-2px);
}
.video-thumb {
position: relative;
width: 100%;
height: 180px;
overflow: hidden;
}
.video-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
}
.duration {
position: absolute;
bottom: 8px;
right: 8px;
background: rgba(0,0,0,0.8);
color: white;
padding: 2px 6px;
border-radius: 4px;
font-size: 12px;
}
.video-info {
padding: 15px;
}
.video-info h3 {
margin: 0 0 8px 0;
font-size: 16px;
line-height: 1.3;
}
.video-info h3 a {
color: #333;
text-decoration: none;
}
.video-info h3 a:hover {
color: #007bff;
}
.video-meta {
color: #666;
font-size: 14px;
}
.upload-container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
.form-group {
margin-bottom: 20px;
}
.form-group label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
.form-group input,
.form-group textarea,
.form-group select {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 14px;
}
.btn-upload {
background: #007bff;
color: white;
padding: 12px 24px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.btn-upload:hover {
background: #0056b3;
}
.main-nav ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
background: #333;
}
.main-nav li {
margin: 0;
}
.main-nav a {
display: block;
padding: 15px 20px;
color: white;
text-decoration: none;
transition: background 0.2s;
}
.main-nav a:hover {
background: #555;
}
.progress-bar {
width: 100%;
height: 20px;
background: #f0f0f0;
border-radius: 10px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: #007bff;
width: 0%;
transition: width 0.3s;
}

View File

@@ -0,0 +1,313 @@
/* Homepage Styles */
.homepage {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Hero Section */
.hero-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 60px 40px;
border-radius: 12px;
margin: 20px 0 40px 0;
text-align: center;
}
.hero-content h1 {
font-size: 3rem;
margin-bottom: 16px;
font-weight: 700;
}
.hero-content p {
font-size: 1.2rem;
margin-bottom: 30px;
opacity: 0.9;
}
.hero-actions {
margin-bottom: 40px;
}
.hero-actions .btn {
margin: 0 10px;
padding: 12px 30px;
font-size: 1.1rem;
}
.hero-stats {
display: flex;
justify-content: center;
gap: 40px;
margin-top: 40px;
}
.stat-item {
text-align: center;
}
.stat-number {
display: block;
font-size: 2rem;
font-weight: bold;
margin-bottom: 5px;
}
.stat-label {
font-size: 0.9rem;
opacity: 0.8;
}
/* Section Headers */
.section-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
padding-bottom: 12px;
border-bottom: 2px solid #f0f0f0;
}
.section-header h2 {
font-size: 1.8rem;
margin: 0;
color: #333;
}
.view-all {
color: #007bff;
text-decoration: none;
font-weight: 500;
}
.view-all:hover {
text-decoration: underline;
}
/* Video Grid */
.video-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 24px;
margin-bottom: 50px;
}
.featured-grid {
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
/* Video Cards */
.video-card {
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
transition: transform 0.2s, box-shadow 0.2s;
}
.video-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.video-thumbnail {
position: relative;
width: 100%;
height: 160px;
overflow: hidden;
}
.video-thumbnail img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.3s;
}
.video-card:hover .video-thumbnail img {
transform: scale(1.05);
}
.duration {
position: absolute;
bottom: 8px;
right: 8px;
background: rgba(0,0,0,0.8);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 500;
}
.play-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 60px;
height: 60px;
background: rgba(255,255,255,0.9);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.2s;
}
.video-card:hover .play-overlay {
opacity: 1;
}
.play-overlay i {
font-size: 24px;
color: #007bff;
margin-left: 3px;
}
.video-details {
padding: 16px;
}
.video-title {
margin: 0 0 8px 0;
font-size: 1rem;
line-height: 1.4;
}
.video-title a {
color: #333;
text-decoration: none;
}
.video-title a:hover {
color: #007bff;
}
.video-meta {
font-size: 0.85rem;
color: #666;
line-height: 1.4;
}
.video-meta a {
color: #007bff;
text-decoration: none;
}
.video-meta a:hover {
text-decoration: underline;
}
.video-meta span {
margin-right: 8px;
}
/* Categories Grid */
.categories-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 20px;
margin-bottom: 50px;
}
.category-card {
background: white;
padding: 24px;
border-radius: 12px;
text-align: center;
text-decoration: none;
color: #333;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
transition: transform 0.2s, box-shadow 0.2s;
}
.category-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0,0,0,0.15);
color: #333;
text-decoration: none;
}
.category-icon {
width: 60px;
height: 60px;
background: #f8f9fa;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 16px auto;
}
.category-icon i {
font-size: 24px;
color: #007bff;
}
.category-card h3 {
margin: 0 0 8px 0;
font-size: 1.1rem;
}
.video-count {
color: #666;
font-size: 0.9rem;
}
/* Call to Action */
.cta-section {
background: #f8f9fa;
padding: 60px 40px;
border-radius: 12px;
text-align: center;
margin: 40px 0;
}
.cta-content h2 {
font-size: 2rem;
margin-bottom: 16px;
color: #333;
}
.cta-content p {
font-size: 1.1rem;
color: #666;
margin-bottom: 30px;
}
.btn-large {
padding: 16px 40px;
font-size: 1.2rem;
}
/* Responsive Design */
@media (max-width: 768px) {
.hero-section {
padding: 40px 20px;
}
.hero-content h1 {
font-size: 2rem;
}
.hero-stats {
gap: 20px;
}
.stat-number {
font-size: 1.5rem;
}
.video-grid {
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 16px;
}
.categories-grid {
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
}

File diff suppressed because one or more lines are too long

1991
f_scripts/fe/css/icons.css Normal file

File diff suppressed because it is too large Load Diff

1
f_scripts/fe/css/init0.min.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

1
f_scripts/fe/css/login.min.css vendored Normal file
View File

@@ -0,0 +1 @@
.login-page-old{width:480px;position:relative;margin:0 auto;left:30%;margin-left:-240px;padding:20px 0}.login-margins{margin:20px}.promo-list li{width:60%;margin:0 auto;font-size:14px;color:#777;padding:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.promo-list li i{margin-right:5px;color:#444}.login-page .user-form article{text-align:left}#password-recovery-form article h3{text-align:left;display:block}.login-page .tabs .content-title{padding-left:0}.login-page .content-title [class^="icon-"]{margin-right:0}.form-buttons{margin-bottom:0;margin-top:15px}.login-page .outer-border-wrapper{border:1px solid rgba(40,44,42,0.1);background:white;padding:0 20px;border-top:0}.login-page.payment-page{padding-top:0}.user-form{line-height:initial}.user-form .row{display:block;width:100%}.user-form .input-signin{width:100%}.user-form a{color:#000}.login-page .tabs-style-topline nav li.tab-current a{background:white;box-shadow:inset 0 3px 0 #06a2cb;color:#06a2cb}.user-form .label-signin,.user-form span.input-signin.top-padding2{color:#8f8f8f;font-size:14px;font-weight:300;margin-bottom:0;margin-top:0;line-height:30px}.user-form .line{margin-bottom:10px}.user-form input[type="text"],.user-form input[type="email"],.user-form input[type="password"]{background:none repeat scroll 0 0 #f5f5f5;border:medium none;box-shadow:0 2px 3px rgba(0,0,0,0.1) inset;clear:both;font-size:.75rem;margin-bottom:5px;padding:15px;width:100%}.user-form input[type="text"]:focus,.user-form input[type="email"]:focus,.user-form input[type="password"]:focus,.user-form textarea:focus{background:none repeat scroll 0 0 #fff;box-shadow:0 0 0 2px #06a2cb,0 2px 3px rgba(0,0,0,0.2) inset,0 5px 5px rgba(0,0,0,0.15);outline:medium none}span.input-signin button.search-button.form-button{background-color:#06a2cb;box-shadow:none;color:white;cursor:pointer;font-family:"Roboto",Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;margin-left:4px;margin-right:10px;margin-bottom:20px;padding:10px;transition:all .3s ease 0s;width:40%;border:0}span.input-signin button.search-button.form-button.fb-login-button{background-color:#3b5998;box-shadow:none}span.input-signin button.search-button.form-button.fb-login-button:hover{background-color:#4669B4;color:#fff}span.input-signin button.search-button.form-button.fb-login-button:hover::before{color:#fff;margin-right:10px;border-right:1px solid #fff}span.input-signin button.search-button.form-button.gp-login-button{background-color:#dd4b39;box-shadow:none}span.input-signin button.search-button.form-button.gp-login-button:hover{background-color:#E3695A;color:#fff}span.input-signin button.search-button.form-button.gp-login-button:hover::before{color:#fff;margin-right:10px;border-right:1px solid #fff}span.input-signin button.search-button.form-button::before{font-family:"icomoon";content:"\e605";color:white;margin-right:10px;border-right:1px solid white;padding-right:10px;transition:all .3s ease 0s}span.input-signin button.search-button.form-button.auth-check-button::before{font-family:"icomoon";content:"\e99b"}span.input-signin button.search-button.form-button.fb-login-button::before{font-family:"icomoon";content:"\e648"}span.input-signin button.search-button.form-button.gp-login-button::before{font-family:"icomoon";content:"\ea80"}span.input-signin button.search-button.form-button.apply-button::before{font-family:"icomoon";content:"\f00c"}span.input-signin button.search-button.form-button.continue-button::before{font-family:"icomoonBe";content:"\f03e"}span.input-signin button.search-button.form-button:hover{background-color:#92cefb;color:#fff}span.input-signin button.search-button.form-button:hover::before{color:#fff;margin-right:10px;border-right:1px solid #fff}#r-image,#l-image{cursor:pointer}#membership_info .ul-disc-list{margin-top:10px}#membership_info .ul-disc-list li{font-size:13px}#membership_info .ul-disc-list li::before{font-family:"icomoon";content:"\f00c";margin-right:5px}.ul-disc-list .bold{font-weight:bold}.pk-descr{margin-top:10px;font-size:14px}.dark .pk-text{color:#fff}.pk-text{color:#505050}.blued{color:#06a2cb}#auth-register-form h4{font-weight:bold;color:#06a2cb;margin-bottom:20px}.auth-username-check-response{padding:0 10px 10px 0}.err-red{color:red}.conf-green{color:green}.hr .inner{background:#fff;border-radius:100px;display:inline-block;width:auto;padding:9px 10px;font-size:15px;font-size:16px;font-style:italic;line-height:0}.hr{box-shadow:0 1px 0 #fff,transparent 0 0 0;border-bottom:1px solid #ddd;margin:0 auto 40px !important;position:relative;height:8px;text-align:center;line-height:initial}.tpl_signin .hr{padding-top:20px}#reset-password-button{max-width:150px;margin-top:20px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
f_scripts/fe/css/theme/theme.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
f_scripts/fe/css/theme/yt.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
f_scripts/fe/css/view.min.css vendored Normal file

File diff suppressed because one or more lines are too long