# Snigdha OS Web Dev πŸŒπŸ’» Welcome to the **Snigdha OS Web Dev** repository! πŸŽ‰ This repository contains the source code, components, and resources used for building and maintaining the official website for **Snigdha OS**. πŸš€
[![Netlify Status](https://api.netlify.com/api/v1/badges/03563b4f-142a-4d7d-8d97-ecfff7b87b29/deploy-status)](https://app.netlify.com/sites/snigdhaos/deploys)
## Table of Contents πŸ“‘ - [Overview](#overview) 🌟 - [Features](#features) ✨ - [Technologies Used](#technologies-used) βš™οΈ - [Repository Structure](#repository-structure) πŸ“‚ - [Developers](#developers) πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’» - [Development Guide](#development-guide) πŸ› οΈ - [Contributing](#contributing) 🀝 - [License](#license) πŸ“œ ## Overview 🌟 The **Snigdha OS Web Dev** repository powers the official website for the next **Snigdha OS**. It includes various web development components, styles, and scripts necessary for the website's functionality. The website is designed to be clean, lightweight, and user-friendly, aligning with the minimalist philosophy of Snigdha OS. πŸ–₯️ ## Features ✨ - πŸ“± **Responsive Design**: Works seamlessly across devices and screen sizes. - πŸ”‘ **User Registration & Authentication**: Integrated with the Snigdha OS user system. - 🌍 **Region-based Downloads**: Select regional mirrors for faster downloads. - 🎨 **Customizable UI**: Built for flexibility and easy theming. - 🌐 **SEO Optimization**: Ensures better discoverability on search engines. ## Technologies Used βš™οΈ This project leverages modern technologies to deliver an efficient and scalable experience: - βš›οΈ **React.js**: For building dynamic user interfaces. - 🟒 **Node.js**: A runtime environment for server-side JavaScript. - πŸš€ **Express.js**: Minimal web framework for backend API routes. - πŸ—‚οΈ **Redux**: State management for predictable application behavior. - 🎨 **CSS3 & Sass**: Styling with modern techniques like Flexbox and Grid. - πŸ“¦ **Webpack**: Bundling JavaScript and assets for optimized performance. - βœ… **Jest**: Testing framework for unit and integration tests. - πŸ› οΈ **ESLint**: For consistent and error-free JavaScript code. ## Repository Structure πŸ“‚ The repository is organized for clarity and modularity: ```plaintext snigdhaos-web-dev/ β”œβ”€β”€ src/ # Main source code β”‚ β”œβ”€β”€ components/ # Reusable components (Header, Footer, Forms) β”‚ β”œβ”€β”€ pages/ # Website pages (Home, About, Download) β”‚ β”œβ”€β”€ styles/ # Global and component-specific styles β”‚ β”œβ”€β”€ utils/ # Utility functions and helpers β”‚ └── App.js # Root React component β”œβ”€β”€ public/ # Static assets (images, icons, fonts) β”œβ”€β”€ tests/ # Unit and integration tests β”œβ”€β”€ package.json # Project dependencies and scripts β”œβ”€β”€ pnpm-lock.yaml # Lockfile for pnpm dependencies β”œβ”€β”€ README.md # This README file β”œβ”€β”€ .eslintrc.js # ESLint configuration β”œβ”€β”€ .gitignore # Files to ignore in Git └── LICENSE # License file ``` ### Key Folders πŸ“ - **`src/components/`**: Modular, reusable UI components like navigation bars and forms. - **`src/pages/`**: Individual pages of the website, such as Home, About, and Download. - **`src/styles/`**: Stylesheets for consistent design across the website. - **`public/`**: Static files served directly without processing. ## Developers πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’» Meet the amazing contributors behind Snigdha OS Web Dev: - **[Eshanized](https://github.com/eshanized/)** - Lead Developer, Web Architect 🌟 We’re always looking for passionate developers to join the team! πŸ’– ## Development Guide πŸ› οΈ ### Prerequisites ⚑ To start working on the project, you need: - **Node.js** and **pnpm** installed on your machine. - A modern browser for testing (e.g., Chrome, Firefox). - A code editor like VSCode for efficient development. - Familiarity with React.js, JavaScript, and Git. ### Setting Up the Development Environment πŸš€ 1. Clone the repository: ```bash git clone https://github.com/Snigdha-OS/snigdhaos-web-dev.git cd snigdhaos-web-dev ``` 2. Install dependencies: ```bash pnpm install ``` 3. Run the development server: ```bash pnpm start ``` The server will start at `http://localhost:5173`. Changes to the code will auto-refresh in your browser. ## Contributing 🀝 We welcome contributions! Here’s how you can contribute: 1. **Fork the repository**: Click the β€œFork” button at the top of the page to create your copy. 2. **Create a branch** for your feature or bug fix: ```bash git checkout -b feature-name ``` 3. **Make your changes**: Write clean and well-documented code. 4. **Commit your changes**: ```bash git commit -m "Add: Feature description" ``` 5. **Push to your fork** and submit a pull request: ```bash git push origin feature-name ``` ## License πŸ“œ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
πŸ’– Thanks for being part of the Snigdha OS Web Dev journey! 🌟