
docs-portal
๐ Table of Contents
๐น About This Project๐ Folder Structureโ๏ธ Installation & Setup๐ Deployment Guide๐ Contributing๐ License๐ฌ Community & Support
๐น About This Project
This project provides DevOps & Cloud learning resources in a structured way, allowing users to search and download documents quickly.
๐ Folder Structure
DOCS-PORTAL
โโโ app
โ โโโ globals.css # Global styles (Tailwind base + custom CSS)
โ โโโ layout.tsx # Root layout (sets up ThemeProvider, fonts, metadata)
โ โโโ page.tsx # Main homepage (renders Header, Search, Results)
โโโ components
โ โโโ DocCard.tsx # Card component for displaying a document/resource
โ โโโ explanation.tsx # Small explanation block about the portal
โ โโโ Footer.tsx # Footer with copyright
โ โโโ Header.tsx # Site header with logo, title, and description
โ โโโ loading.tsx # Loading skeleton for lazy components/pages
โ โโโ SearchResults.tsx # Displays filtered search results
โ โโโ search.tsx # Search bar with animation and debounce
โ โโโ ThemeToggle.tsx # Light/dark mode toggle button
โ โโโ ui # Reusable UI components
โ โโโ button.tsx # Styled Button component
โ โโโ input.tsx # Styled Input component
โ โโโ skeleton.tsx # Skeleton loader UI
โโโ data
โ โโโ files.json # List of all resource files with metadata (name, url, size)
โโโ lib
โ โโโ utils.ts # Helper utility functions (e.g., formatting file sizes)
โโโ providers
โ โโโ theme-provider.tsx # Wrapper around next-themes provider for light/dark mode
โโโ public
โ โโโ pdfs # Folder containing all uploaded PDF documents
โโโ CHANGELOG # Version history and updates
โโโ CODE_OF_CONDUCT.md # Contributor behavior guidelines
โโโ components.json # (Optional) Component metadata/config (if used)
โโโ CONTRIBUTING.md # Contribution instructions for developers
โโโ generateFilesList.js # Script to auto-generate `files.json` from PDFs
โโโ LICENSE # Open-source license for the project
โโโ next.config.ts # Next.js configuration file
โโโ next-env.d.ts # TypeScript environment settings for Next.js
โโโ package.json # Project metadata and dependencies
โโโ package-lock.json # Lock file for exact versions of installed packages
โโโ postcss.config.mjs # PostCSS config for TailwindCSS and plugins
โโโ README.md # Project documentation (you are updating this!)
โโโ tailwind.config.ts # TailwindCSS configuration
โโโ tsconfig.json # TypeScript compiler settings
-
index.js
โ Displays the UI for document search & download. -
generateFilesList.js
โ Auto-generatesfiles.json
for document listing. -
next.config.js
โ Handles URL rewriting & caching.
โ๏ธ Installation & Setup
โ
Prerequisites
-
Node.js (
>=18.x
) - Git
- Yarn or NPM
๐ฅ Clone the Repository
git clone https://gitlab.com/NotHarshhaa/docs-portal.git
cd docs-portal
๐ง Install Dependencies
npm install
๐ Generate Files List
node scripts/generateFilesList.js
๐ Run Locally
npm run dev
๐ Deployment Guide
๐น Deploy via GitLab CI/CD
GitLab CI/CD automatically builds and deploys the site.
โ
Steps:
main
branch
.gitlab-ci.yml
to customize builds.
๐ Contributing
We welcome contributions! Follow these steps to get started:
feature-branch
)
๐ License
This project is licensed under the MIT License.
See the full license here.
๐ฌ Community & Support