├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── custom.md │ └── feature_request.md ├── Contributors.md ├── README.md ├── Screenshot 2024-06-13 191516.png ├── image-1.png ├── image-2.png ├── image.png ├── open-source-galaxy ├── .firebase │ └── hosting.YnVpbGQ.cache ├── .firebaserc ├── .gitignore ├── firebase.json ├── package-lock.json ├── package.json ├── public │ ├── index.html │ ├── logo.png │ ├── manifest.json │ └── robots.txt └── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── about.css │ ├── about.js │ ├── assets │ ├── customer-experience.png │ ├── element-10.png │ ├── element-11.jpg │ ├── element-12.png │ ├── element-13.png │ ├── element-14.png │ ├── element-15.png │ ├── element-16.png │ ├── element-17.png │ ├── element-18.png │ ├── element-2.png │ ├── element-3.png │ ├── element-4.jpg │ ├── element-5.png │ ├── element-6.png │ ├── element-7.png │ ├── element-8.png │ ├── element-9.jpg │ ├── element_1.jpg │ ├── github.png │ ├── icons8-search-50.png │ ├── linkedin.png │ ├── logo.png │ ├── search-icon.png │ ├── twitter.png │ └── user.png │ ├── components │ ├── About.css │ ├── About.js │ ├── Authentication.js │ ├── Blogs.js │ ├── DarkAnim.js │ ├── Element.css │ ├── ElementEven.css │ ├── ElementEven.js │ ├── ElementOdd.css │ ├── ElementOdd.js │ ├── Email.js │ ├── FAQAccordion.css │ ├── FAQAccordion.js │ ├── Footer │ │ ├── Footer.css │ │ └── Footer.js │ ├── Header.css │ ├── Header.js │ ├── Home.js │ ├── Login.css │ ├── Login.js │ ├── Navbar │ │ ├── CustomNavbar.js │ │ └── Navbar.css │ ├── Profile.css │ ├── Profile.js │ ├── SearchBar.css │ ├── SearchBar.js │ ├── ThemeContext.js │ ├── ThemeToggle.css │ └── ThemeToggle.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ ├── new_blog_page │ ├── new_blog_page.css │ ├── new_blog_page.html │ └── new_blog_page.js │ ├── profile.jpg │ ├── reportWebVitals.js │ └── setupTests.js └── package-lock.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG] Explain the bug" 5 | labels: bug, EASY, good first issue, VSoC’24 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Additional context** 27 | Add any other context about the problem here. 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/custom.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Custom issue template 3 | about: Describe this issue template's purpose here. 4 | title: '' 5 | labels: VSoC’24 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an UI idea for this project 4 | title: "[UI Design] Explain the UI feature" 5 | labels: good first issue, MEDIUM, VSoC’24 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /Contributors.md: -------------------------------------------------------------------------------- 1 | 2 | #
Welcome to Contributing!
3 | 4 | I'm thrilled you're interested in being part of this project. This guide is here to help you get started, whether you're a seasoned developer or just starting your open source journey. 5 | 6 | 7 | ## Getting Started 8 | 9 | 1. Explore the Project: Take some time to familiarize yourself with the project's goals, codebase, and documentation. A good starting point is usually the README file. 10 | 11 | 2. Set Up Your Development Environment: Follow the instructions below to set up your development environment. 12 | 13 | 3. Star the Project: Don't forget to star project inorder to support the project. 14 | 15 | ![star project](image-1.png) 16 | 17 | 4. Raise Issue: Go through the website and look for the imrpovement or a bug. Once you find your bug or improvement, raise a issue in the issue section and wait for the issue to assign. 18 | 19 | ## How to Contribute 20 | 21 | 1. Fork the repository: 22 | 23 | Click on the fork button to get the copy of Open source galaxy repository to your profile. 24 | ![Fork]() 25 | 26 | 3. Clone the repository: 27 | 28 | Once forked the repository, click the code and copy the http link. 29 | 30 | ![Clone link](image-2.png) 31 | 32 | Once copied, navigate to command prompt or any other ide command prompt, enter the command below. 33 | 34 | ` git clone ` 35 | 5. Create a new branch: 36 | 37 | After cloning the repo in your local machine, create a new branch. 38 | 39 | ` git branch ` 40 | 41 | Make sure to provide the branch some reasonable name Eg: modified-ui 42 | 43 | 7. Edit and commit the changes: 44 | Switch to the newly created branch and edit the changes in new branch. Note: Do not edit in main branch 45 | 46 | ` git checkout ` 47 | 48 | Once you made changes, add the changes and commit the changes with some reasonable commit messages. Eg: 'Edited the UI of the main page.' 49 | 50 | To add the edited file to git: 51 | 52 | `git add ` 53 | 54 | To commit the edited changes: 55 | 56 | `git commit -m "Commit message goes here" ` 57 | 58 | 8. Push the changes: 59 | Once all the changes are commited, push the changes to remote branch using the below command. 60 | 61 | `git push origin ` 62 | 63 | 9. Create a PR: 64 | 65 | Once the commits are pushed, create a Pull Request with the changes, steps and the output screenshots. 66 | 67 | 10. Wait for the review: 68 | 69 | Once you created a PR, wait for us to review the changes and approve the PR. We will then merge the PR once its verified. 70 | 71 | 72 |
Thank you for being a part of this project!
73 | 74 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Open Source Galaxy 🚀🌌 2 | 3 | Welcome to **Open Source Galaxy**! Our mission is to foster a thriving community of open-source enthusiasts and keep you informed about the latest open-source contribution events. 4 | 5 | ## 🌟 Overview 6 | 7 | Open Source Galaxy is your go-to platform for staying updated on upcoming open-source contribution event registration openings. With our platform, you can easily access information about events and ensure you never miss an opportunity to participate and contribute. 8 | 9 | ## 🛠️ Technologies Used 10 | 11 | - **HTML** 12 | - **CSS** 13 | - **JavaScript** 14 | - **React.js** (Frontend Framework) 15 | - **Auth0** (User Authentication) 16 | - **Email.js** (Email Notifications) 17 | - **GoDaddy** (Domain Purchase) 18 | - **Firebase** (Deployment) 19 | 20 | ## 💡 Features 21 | 22 | - **Event Notifications:** Get timely reminders for upcoming open-source contribution events. 23 | - **User Authentication:** Secure login and authentication using Auth0. 24 | - **Custom Domain:** Access the platform through a personalized domain. 25 | - **Seamless UI:** Intuitive user interface for easy navigation. 26 | 27 | ## 📚 How to Contribute 28 | 29 | We welcome contributions from everyone! Here’s how you can get involved: 30 | 31 | 1. **Fork the Repository:** Click on the 'Fork' button at the top right corner of this page. 32 | 2. **Clone the Forked Repository:** 33 | 34 | ``` bash 35 | git clone https://github.com/Rupa-Rd/Open-Source-Galaxy.git 36 | ``` 37 | 3. **Create a New Branch:** 38 | ```bash 39 | git checkout -b 40 | ``` 41 | 4. **Make Your Changes:** Implement your changes or add new features. 42 | 5. **Commit and Push:** 43 | ```bash 44 | git add . 45 | git commit -m "your commit message" 46 | git push origin 47 | ``` 48 | 6. **Submit a Pull Request:** Go to the original repository and create a new pull request from your forked repository. 49 | 50 | Please ensure your code follows our [Contribution Guidelines](Contributors.md). 51 | 52 | 53 | ## 👥 Contributors 54 | 55 | We thank the following individuals for their contributions to Open Source Galaxy: 56 | 57 | 58 | Rupa-Rd 59 | Mehak-Mattoo 60 | Ayushswirlon 61 | deepesh611 62 | kom-senapati 63 | rajdesai17 64 | avyaanverma 65 | Kaustav2410 66 | shatanshu3006 67 | mu6m 68 | Meetjain1 69 | 70 | 71 | Thank you for being a part of Open Source Galaxy! Let's make a difference in the open-source community together. 🌍💡 72 | -------------------------------------------------------------------------------- /Screenshot 2024-06-13 191516.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/Screenshot 2024-06-13 191516.png -------------------------------------------------------------------------------- /image-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/image-1.png -------------------------------------------------------------------------------- /image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/image-2.png -------------------------------------------------------------------------------- /image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/image.png -------------------------------------------------------------------------------- /open-source-galaxy/.firebase/hosting.YnVpbGQ.cache: -------------------------------------------------------------------------------- 1 | logo.png,1718268908575,0cc137385415b7e69813595790f461483d4b9b33ae316017e4c0a37c4b6714dc 2 | manifest.json,1718268908576,5c997de1364b8be939319fa9209abd77f2caf7f8844999a9e2e9173f844e7840 3 | robots.txt,1718268908577,b2090cf9761ef60aa06e4fab97679bd43dfa5e5df073701ead5879d7c68f1ec5 4 | asset-manifest.json,1720670876504,aa9e93cd116162589e5da3014fd645d51be498aba58c50968df8a13620dd0727 5 | index.html,1720670876399,cc79042a8c7f462d6a198c8c5b81b667b6b6899682003187fb107c0b85c78fb0 6 | static/js/453.38c55c53.chunk.js,1720670876451,187dd4e805c0a4af1b4b828edb0332935e082f4eca1a646d60c1891c005deddf 7 | static/js/453.38c55c53.chunk.js.map,1720670876455,3ce073b6b3c095456bce789080a2087bba5a35210aa3397702cc1ae768820a3c 8 | static/js/main.bec2897b.js.LICENSE.txt,1720670876450,da704119ff9e3fdf0596a9c58009a12f71213e312daf023b4021c2ed594ba70a 9 | static/media/customer-experience.63aed1269a5c60681c85.png,1720670876451,3abc8ae29fabb05bd56e01545d846cd1daaf7a8839961a6df71790839dbd7aca 10 | static/media/element_1.e8c06c7671d531aafcad.jpg,1720670876450,293cd7b5ce06617c3a7d35010ebfd298bcabe6c377529070f851060a3ba1af6c 11 | static/media/github.9e094d235b4caa7c31fc.png,1720670876452,101ec7ed769c3e9a988ee55b733675ae1a8cbd47c25756b433061cbb56e04d12 12 | static/media/logo.5f44ae0942487f404791.png,1720670876450,6aba67cf11e330333307136adbe8c313ce7a6bc138b99c4d29a662b93cc4d619 13 | static/media/twitter.e4f83bef4191a65e9c7d.png,1720670876450,05a957a362121bd1381430d0611afd45eeb1b45827cd83e41976e09eb490de73 14 | static/media/user.d07edc90c50baffb79fa.png,1720670876451,d9b3e224c4174ae5e7c37d8ebe8f6de74eacc6e2cc8aeec4a848f04645bb91be 15 | static/media/element-13.2c750da93040e0df791a.png,1720670876450,19d4113e9bc81297620b70857390fb5477ef1ea17b7ef8a6c5b9c44a76c58038 16 | static/media/element-15.1c063279766f4b488735.png,1720670876451,1445c90b1c05626f0c30b4d9dc1f4b90188cf9b8067bd85f4051974bbf60ceeb 17 | static/css/main.fc36f53d.css,1720670876452,e43d7e30fd83b376dc7ff274d447ca56464f5930065ce06eaa6053b6bda3f1e2 18 | static/js/main.bec2897b.js,1720670876451,9fed19c97375233ec342576624002385e7cd03af6901f41bb068c4c3c16f639c 19 | static/css/main.fc36f53d.css.map,1720670876452,2daf584a7943c5cafd389d6d3d66e6a6d0333d61a724d88ed840f622626874ca 20 | static/js/main.bec2897b.js.map,1720670876455,77f3fd7be5c4866a96b57e4fbee4ed50584f2151d016f53d2d6442a2154ec86c 21 | -------------------------------------------------------------------------------- /open-source-galaxy/.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "open-source-galaxy" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /open-source-galaxy/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # ENV 26 | .env 27 | 28 | public -------------------------------------------------------------------------------- /open-source-galaxy/firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "public": "build", 4 | "ignore": [ 5 | "firebase.json", 6 | "**/.*", 7 | "**/node_modules/**" 8 | ] 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /open-source-galaxy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "open-source-galaxy", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@auth0/auth0-react": "^2.2.4", 7 | "@emailjs/browser": "^4.3.3", 8 | "@testing-library/jest-dom": "^5.17.0", 9 | "@testing-library/react": "^13.4.0", 10 | "@testing-library/user-event": "^13.5.0", 11 | "bootstrap": "^5.3.3", 12 | "react": "^18.2.0", 13 | "react-bootstrap": "^2.10.4", 14 | "react-dom": "^18.2.0", 15 | "react-icons": "^5.2.1", 16 | "react-router": "^6.24.0", 17 | "react-router-dom": "^6.24.0", 18 | "react-scripts": "5.0.1", 19 | "web-vitals": "^2.1.4" 20 | }, 21 | "scripts": { 22 | "start": "react-scripts start", 23 | "build": "react-scripts build", 24 | "test": "react-scripts test", 25 | "eject": "react-scripts eject" 26 | }, 27 | "eslintConfig": { 28 | "extends": [ 29 | "react-app", 30 | "react-app/jest" 31 | ] 32 | }, 33 | "browserslist": { 34 | "production": [ 35 | ">0.2%", 36 | "not dead", 37 | "not op_mini all" 38 | ], 39 | "development": [ 40 | "last 1 chrome version", 41 | "last 1 firefox version", 42 | "last 1 safari version" 43 | ] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /open-source-galaxy/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | 18 | 19 | 28 | Open Source Galaxy 29 | 30 | 31 | 32 |
33 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /open-source-galaxy/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/public/logo.png -------------------------------------------------------------------------------- /open-source-galaxy/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /open-source-galaxy/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /open-source-galaxy/src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | margin: 0; 3 | display: flex; 4 | flex-direction: column; 5 | min-height: 100vh; 6 | } 7 | 8 | .container { 9 | display: grid; 10 | grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 11 | gap: 20px; 12 | padding: 20px; 13 | width: 90%; 14 | margin: 0 auto; 15 | box-sizing: border-box; 16 | } 17 | 18 | @media (min-width: 768px) { 19 | .container { 20 | grid-template-columns: repeat(4, 1fr); 21 | } 22 | } 23 | 24 | @media (max-width: 767px) { 25 | .container { 26 | grid-template-columns: 1fr; 27 | } 28 | } 29 | 30 | .light-mode { 31 | background-color: aliceblue; 32 | } 33 | 34 | .dark-mode { 35 | background-color: #1E1E1E; 36 | } 37 | 38 | /* Element styles */ 39 | .element { 40 | display: flex; 41 | flex-direction: column; 42 | align-items: center; 43 | text-align: center; 44 | box-sizing: border-box; 45 | padding: 10px; 46 | background-color: #f9f9f9; 47 | border: 1px solid #ddd; 48 | border-radius: 8px; 49 | } 50 | 51 | .element img { 52 | max-width: 100%; 53 | height: auto; 54 | border-radius: 4px; 55 | } 56 | 57 | .element a { 58 | text-decoration: none; 59 | color: #333; 60 | font-weight: bold; 61 | margin-top: 10px; 62 | } 63 | 64 | .element a:hover { 65 | color: #007bff; 66 | } 67 | -------------------------------------------------------------------------------- /open-source-galaxy/src/App.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import "./App.css"; 3 | import ElementOdd from "./components/ElementOdd"; 4 | import Header from "./components/Header"; 5 | import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; 6 | import ElementEven from "./components/ElementEven"; 7 | import { ThemeProvider } from "./components/ThemeContext"; 8 | import CustomNavbar from "./components/Navbar/CustomNavbar"; 9 | import Blogs from "./components/Blogs"; 10 | import About from "./components/About"; 11 | import Home from "./components/Home"; 12 | import FAQ from "./components/FAQAccordion"; 13 | import Footer from "./components/Footer/Footer"; 14 | 15 | // import SearchBar from './components/SearchBar'; 16 | // import './assets/'; 17 | 18 | function importAll(r) { 19 | let images = {}; 20 | // eslint-disable-next-line 21 | r.keys().map((item) => { 22 | images[item.replace("./", "")] = r(item); 23 | }); 24 | return images; 25 | } 26 | 27 | const images = importAll(require.context("./assets", false, /\.(png|jpe?g)$/)); 28 | 29 | function App() { 30 | return ( 31 |
32 | 33 | 34 | {/*
*/} 35 | 36 | 37 | 38 | 39 | } /> 40 | } /> 41 | {/* } /> 42 | } /> 43 | } 46 | /> */} 47 | } /> 48 | {/* } /> 49 | } /> */} 50 | 51 | 52 |
53 | 58 | 63 | 68 | 73 | 74 | 79 | 84 | 89 | 94 | 95 | 100 | 105 | 110 | 115 | 116 | 121 | 126 | 131 | 136 | 141 | 146 |
147 | 148 | 149 | 150 |
151 | 152 |
153 | ); 154 | } 155 | 156 | export default App; 157 | -------------------------------------------------------------------------------- /open-source-galaxy/src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /open-source-galaxy/src/about.css: -------------------------------------------------------------------------------- 1 | /* About.css */ 2 | .about-section { 3 | /* Style the overall container */ 4 | padding: 2rem; 5 | margin: 2rem auto; 6 | max-width: 800px; /* Optional: Set a maximum width */ 7 | border: 8px solid #242424; /* Add a border with color and thickness */ 8 | padding: 2rem; /* Maintain padding inside the border */ 9 | margin: 2rem auto; /* Maintain margin outside the border */ 10 | max-width: 800px; /* Optional: Set a maximum width */ 11 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.7); 12 | } 13 | 14 | .about-section h2 { 15 | /* Style the heading */ 16 | text-align: center; 17 | margin-bottom: 1rem; 18 | font-weight: bolder; 19 | color: #C7493A; 20 | font-family: "PT Serif Caption", serif; 21 | } 22 | 23 | .about-section p { 24 | /* Style the paragraph text */ 25 | line-height: 1.5; /* Optional: Adjust line spacing */ 26 | font-weight: bold; 27 | color: #C7493A; 28 | text-align: center; 29 | font-family: "PT Serif Caption", serif; 30 | } 31 | 32 | /* Add styles for any additional elements like images or videos */ 33 | -------------------------------------------------------------------------------- /open-source-galaxy/src/about.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const About = () => { 4 | return ( 5 |
6 |

About Us

7 |

8 | Write a compelling description of your website, purpose, or team. 9 | Highlight what makes you unique and why users should be interested. 10 |

11 | {/* Optionally add an image, video, or contact information */} 12 |
13 | ); 14 | }; 15 | 16 | export default About; 17 | -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/customer-experience.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/customer-experience.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-10.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-11.jpg -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-12.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-13.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-14.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-15.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-16.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-17.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-18.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-2.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-3.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-4.jpg -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-5.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-6.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-7.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-8.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element-9.jpg -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/element_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/element_1.jpg -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/github.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/icons8-search-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/icons8-search-50.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/linkedin.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/logo.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/search-icon.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/twitter.png -------------------------------------------------------------------------------- /open-source-galaxy/src/assets/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/assets/user.png -------------------------------------------------------------------------------- /open-source-galaxy/src/components/About.css: -------------------------------------------------------------------------------- 1 | /* About.css */ 2 | 3 | .about-section { 4 | /* Style the overall container */ 5 | padding: 2rem; 6 | margin: 2rem auto; 7 | max-width: 800px; /* Optional: Set a maximum width */ 8 | border: 8px solid #2f2f2f; /* Add a border with color and thickness */ 9 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.7); 10 | background-color: #feeef0; 11 | opacity: 0; 12 | animation: fadeIn 1s ease-in-out forwards; 13 | } 14 | 15 | .about-section h2, 16 | .about-section p { 17 | /* Style the heading and paragraph text */ 18 | text-align: center; 19 | margin-bottom: 1rem; 20 | font-weight: bolder; 21 | color: #c7493a; 22 | font-family: "PT Serif Caption", serif; 23 | opacity: 0; 24 | animation: fadeInText 1s ease-in-out 0.5s forwards; 25 | } 26 | 27 | @keyframes fadeIn { 28 | 0% { 29 | opacity: 0; 30 | } 31 | 100% { 32 | opacity: 1; 33 | } 34 | } 35 | 36 | @keyframes fadeInText { 37 | 0% { 38 | opacity: 0; 39 | } 40 | 100% { 41 | opacity: 1; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/About.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import "./About.css"; 3 | const About = () => { 4 | return ( 5 |
6 |

About Open Source Galaxy

7 |

8 | Welcome to Open Source Galaxy, your premier destination for staying in 9 | the loop on upcoming open-source contribution events! Whether you’re a 10 | developer or someone who is just starting to into the world of open 11 | source, our platform is designed to ensure you never miss an opportunity 12 | to get involved. 13 |

14 |

What We Do

15 |

16 | Open Source Galaxy is dedicated to providing you with timely and 17 | accurate information about registration openings for various open-source 18 | contribution events. These events are crucial for the growth of 19 | open-source projects and communities, and by participating, you can play 20 | a significant role in their success. We aggregate details from numerous 21 | sources and present them in an easy-to-navigate format, allowing you to 22 | quickly find events that match your interests and skills. 23 |

24 |

Why Open Source?

25 |

26 | Open source is more than just a way to develop software—it’s a movement 27 | that promotes collaboration, transparency, and community-driven 28 | development. By contributing to open-source projects, you’re not only 29 | enhancing your own skills but also giving back to the community. Open 30 | source projects rely on the contributions of volunteers to improve, 31 | innovate, and stay relevant. Your involvement can help solve real-world 32 | problems, drive technological advancements, and create tools that 33 | benefit millions of people globally. 34 |

35 |

Who Can Contribute?

36 |

37 | At Open Source Galaxy, we believe that open-source contributions are not 38 | limited to just coding. While coding is a significant aspect, there are 39 | numerous other ways you can contribute. Documentation, design, project 40 | management, testing, and community support are all vital components of 41 | open-source projects. If you have expertise or interest in any of these 42 | areas, there is a place for you in the open-source community. 43 |

44 |

How to Get Started

45 |

46 | Getting started with open-source contributions might seem daunting, but 47 | we’re here to make the process as smooth as possible. On our platform, 48 | you’ll find a wealth of resources to help you begin your journey. From 49 | guides and tutorials to forums where you can ask questions and get 50 | advice from experienced contributors, we’ve got you covered. Our goal is 51 | to lower the barrier to entry and ensure that everyone, regardless of 52 | their background or experience level, can make meaningful contributions. 53 |

54 |

Our Technology

55 |

56 | Our platform is built using cutting-edge web technologies to ensure a 57 | seamless and user-friendly experience. We utilize HTML, CSS, JavaScript, 58 | and React.js for our front-end, while Firebase powers our backend. We 59 | also leverage Auth0 for secure authentication and Email.js for 60 | streamlined communication. By integrating these technologies, we provide 61 | a robust and reliable platform that you can count on for the latest 62 | open-source event information. 63 |

64 |

Community and Support

65 |

66 | One of the cornerstones of Open Source Galaxy is our commitment to 67 | fostering a supportive and inclusive community. We understand that the 68 | journey to becoming an active open-source contributor can be 69 | challenging, and we’re here to support you every step of the way. 70 | Whether you need help navigating the platform, understanding the details 71 | of an event, or connecting with other contributors, our team is always 72 | ready to assist. Additionally, we welcome feedback and suggestions to 73 | continually improve our services and better serve our users. 74 |

75 |

Join Us

76 |

77 | We invite you to join us in the open-source movement and make a 78 | difference. By staying informed about upcoming events through Open 79 | Source Galaxy, you can ensure that you never miss an opportunity to 80 | contribute and grow. Whether you’re looking to hone your skills, 81 | collaborate with others, or simply give back to the community, Open 82 | Source Galaxy is your go-to resource. 83 |

84 |
85 | ); 86 | }; 87 | 88 | export default About; 89 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Authentication.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import Login from './Login'; 3 | import Profile from './Profile'; 4 | import { useAuth0 } from '@auth0/auth0-react'; 5 | 6 | function Authentication() { 7 | const { isAuthenticated } = useAuth0(); 8 | return ( 9 | 10 | isAuthenticated ? : 11 | 12 | ) 13 | } 14 | 15 | 16 | 17 | export default Authentication 18 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Blogs.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const Blogs = () => { 4 | return
blogs
; 5 | }; 6 | 7 | export default Blogs; 8 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/DarkAnim.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useState } from 'react'; 2 | 3 | const DarkAnim = () => { 4 | const toggleClassName = "theme-toggle--toggled"; 5 | const [isDarkMode, setIsDarkMode] = useState(window.matchMedia("(prefers-color-scheme: dark)").matches); 6 | 7 | useEffect(() => { 8 | const darkMode = window.matchMedia("(prefers-color-scheme: dark)"); 9 | const changeHandler = (e) => setIsDarkMode(e.matches); 10 | darkMode.addEventListener("change", changeHandler); 11 | return () => darkMode.removeEventListener("change", changeHandler); 12 | }, []); 13 | 14 | return ( 15 | 21 | ); 22 | }; 23 | 24 | export default DarkAnim; -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Element.css: -------------------------------------------------------------------------------- 1 | .card { 2 | display: flex; 3 | flex-direction: column; 4 | justify-content: space-between; /* Ensure the content is spaced out */ 5 | align-items: center; 6 | text-align: center; 7 | padding: 10px; 8 | background-color: #f9f9f9; 9 | border: 1px solid #ddd; 10 | border-radius: 8px; 11 | box-sizing: border-box; 12 | height: 100%; /* Make sure the card takes the full height */ 13 | } 14 | 15 | .card img { 16 | width: 100%; 17 | height: 200px; /* Set a fixed height for images */ 18 | object-fit: cover; /* Ensures the image covers the box while maintaining its aspect ratio */ 19 | border-radius: 4px; 20 | } 21 | 22 | .card-content { 23 | display: flex; 24 | flex-direction: column; 25 | justify-content: flex-end; /* Align the name and buttons at the bottom */ 26 | width: 100%; 27 | } 28 | 29 | .card h3 { 30 | font-size: 1.2em; 31 | margin: 10px 0; 32 | } 33 | 34 | .buttons { 35 | display: flex; 36 | gap: 10px; 37 | justify-content: center; 38 | margin-top: 10px; 39 | } 40 | 41 | .buttons .btn { 42 | text-decoration: none; 43 | color: #fff; 44 | background-color: #007bff; 45 | padding: 10px 15px; 46 | border-radius: 4px; 47 | transition: background-color 0.3s; 48 | } 49 | 50 | .buttons .btn:hover { 51 | background-color: #0056b3; 52 | } 53 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ElementEven.css: -------------------------------------------------------------------------------- 1 | .card-even { 2 | background: #242424; 3 | border: 2px solid #1E5128; 4 | border-radius: 15px; 5 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.7); 6 | overflow: hidden; 7 | display: flex; 8 | flex-direction: column; 9 | align-items: center; 10 | padding: 10px; 11 | text-align: center; 12 | transition: transform 0.3s, background 0.3s; 13 | } 14 | 15 | .card-even:hover { 16 | transform: scale(1.05); 17 | background: #2c2c2c; 18 | } 19 | 20 | .card-even img { 21 | width: 100%; 22 | height: 200px; /* Set a fixed height to avoid stretching */ 23 | object-fit: contain; /* Ensures the image covers the area without stretching */ 24 | border-bottom: 2px solid #007bff; 25 | border-radius: 15px 15px 0 0; 26 | } 27 | 28 | .card-even h3 { 29 | margin: 10px 0; 30 | font-size: 1.5em; 31 | } 32 | 33 | .buttons-even { 34 | position: relative; 35 | display: flex; 36 | justify-content: center; 37 | gap: 10px; 38 | margin-top: auto; 39 | } 40 | 41 | .btn-even { 42 | background-color: #62A388; 43 | color: white; 44 | padding: 10px 20px; 45 | text-decoration: none; 46 | border-radius: 25px; 47 | font-size: 1em; 48 | transition: background-color 0.3s; 49 | } 50 | 51 | .btn-even:hover { 52 | background-color: #0056b3; 53 | } 54 | 55 | .buttons-even { 56 | display: flex; 57 | justify-content: center; 58 | gap: 10px; 59 | margin-top: 10px; 60 | } -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ElementEven.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './ElementEven.css'; 3 | import Email from './Email'; 4 | 5 | function ElementEven(props) { 6 | return ( 7 |
8 | {props.name} 9 |

{props.name}

10 |
11 | {/* Link */} 12 | 13 | Link 14 | 15 | 16 |
17 |
18 | ); 19 | } 20 | 21 | export default ElementEven; 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ElementOdd.css: -------------------------------------------------------------------------------- 1 | /* .container-odd{ 2 | display: flex; 3 | margin: 30px; 4 | } 5 | 6 | .col-odd{ 7 | border: 5px solid #D89216; 8 | padding: 10px; 9 | 10 | } 11 | .col-odd > img{ 12 | height: 180px; 13 | width: 400px; 14 | } 15 | 16 | .row-odd{ 17 | display: flex; 18 | justify-content: space-between; 19 | } 20 | 21 | .row-odd > a{ 22 | background-color: #62A388; 23 | color: #fff; 24 | margin: 10px 0px 10px 10px; 25 | padding: 10px; */ 26 | /* height: 30px; */ 27 | /* width: 100px; 28 | text-align: center; 29 | font-size: large; 30 | font-weight: bold; 31 | cursor: pointer; 32 | text-decoration: none; 33 | } 34 | 35 | .row-odd > p{ 36 | text-align: center; 37 | background-color: #62A388; 38 | width: 200px; 39 | padding: 10px; 40 | font-size: large; 41 | font-weight: bold; 42 | margin: 10px 20px 10px 0px; 43 | } 44 | 45 | .col-odd > button{ 46 | background-color: #62A388; 47 | width: 100%; 48 | padding: 10px; 49 | font-size: large; 50 | font-weight: bold; 51 | cursor: pointer; 52 | } 53 | 54 | @media screen and (max-width: 1025px){ 55 | .container-odd{ 56 | width: 100%; 57 | justify-content: center; 58 | } 59 | } */ 60 | 61 | .card-odd { 62 | background: #242424; 63 | border: 2px solid #1E5128; 64 | border-radius: 15px; 65 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.7); 66 | overflow: hidden; 67 | display: flex; 68 | flex-direction: column; 69 | align-items: center; 70 | padding: 10px; 71 | text-align: center; 72 | transition: transform 0.3s, background 0.3s; 73 | } 74 | 75 | .card-odd:hover { 76 | transform: scale(1.05); 77 | background: #2c2c2c; 78 | } 79 | 80 | .card-odd img { 81 | width: 100%; 82 | border-bottom: 2px solid #D89216; 83 | border-radius: 15px 15px 0 0; 84 | object-fit: fill; 85 | } 86 | 87 | .card-odd h3 { 88 | margin: 10px 0; 89 | font-size: 1.5em; 90 | } 91 | 92 | .buttons-odd { 93 | position: relative; 94 | display: flex; 95 | justify-content: center; 96 | gap: 10px; 97 | margin-top: auto; 98 | } 99 | 100 | .btn-odd { 101 | background-color: #62A388; 102 | color: white; 103 | padding: 10px 20px; 104 | text-decoration: none; 105 | border-radius: 25px; 106 | font-size: 1em; 107 | transition: background-color 0.3s; 108 | } 109 | 110 | .btn-odd:hover { 111 | background-color: #558C6E; 112 | } 113 | 114 | .card-odd img { 115 | width: 100%; 116 | height: 200px; /* Set a fixed height to avoid stretching */ 117 | object-fit: contain; /* Ensures the image covers the area without stretching */ 118 | border-bottom: 2px solid #D89216; 119 | border-radius: 15px 15px 0 0; 120 | } -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ElementOdd.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | // import element1 from '../assets/element-1.jpg' 3 | import './ElementOdd.css' 4 | import Email from './Email'; 5 | 6 | function Element(props) { 7 | return ( 8 |
9 | MLH 10 |

{props.name}

11 |
12 | {/* Link */} 13 | 14 | Link 15 | 16 | 17 |
18 |
19 | ) 20 | } 21 | 22 | export default Element -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Email.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import emailjs from '@emailjs/browser'; 3 | import { useAuth0} from '@auth0/auth0-react'; 4 | 5 | function Email(props){ 6 | const {user, isAuthenticated} = useAuth0(); 7 | const sendEmail = () => { 8 | 9 | 10 | 11 | const templateParams = { 12 | to_name: user.name, 13 | message: props.name, 14 | to_email: user.email, 15 | }; 16 | 17 | emailjs.send('service_higwl3m', 'template_jdi9qdt', templateParams, 'S4HmoP_Wf1W_5DqXf') 18 | .then((response) =>{ 19 | alert("Remainder Sent Successfully!",response); 20 | }) 21 | .catch((error) =>{ 22 | alert("Error Sending Email",error); 23 | console.log(error); 24 | }) 25 | // console.log("Email Sent!"); 26 | }; 27 | const info = () =>{ 28 | alert("Login is required"); 29 | } 30 | return( 31 | isAuthenticated ? : 32 | ) 33 | 34 | 35 | } 36 | 37 | export default Email; -------------------------------------------------------------------------------- /open-source-galaxy/src/components/FAQAccordion.css: -------------------------------------------------------------------------------- 1 | .accordion { 2 | width: 90%; 3 | overflow: hidden; 4 | background-color: #ffffff; 5 | color: #ef5941; 6 | margin: 4rem; 7 | margin-left: 7rem; 8 | } 9 | 10 | .accordion-section { 11 | border-top: 1px solid #ddd; 12 | } 13 | 14 | .accordion-title { 15 | background-color: white; 16 | color: #8d200f; 17 | padding: 15px 0; 18 | cursor: pointer; 19 | font-size: 18px; 20 | transition: background-color 0.3s ease; 21 | } 22 | 23 | .accordion-content { 24 | max-height: 0; 25 | overflow: hidden; 26 | transition: max-height 0.5s ease-out, padding 0.5s ease-out; 27 | } 28 | 29 | .accordion-content p, 30 | .accordion-content li, 31 | .accordion-content strong { 32 | background-color: #ffffff; 33 | color: #000000; 34 | } 35 | 36 | .accordion-content p, 37 | .accordion-content ol { 38 | padding: 15px; 39 | margin: 0; 40 | } 41 | 42 | .accordion-content ol { 43 | padding-left: 30px; 44 | } 45 | 46 | .accordion-content.show { 47 | max-height: 1000px; 48 | animation: fadeIn 0.5s ease-in; 49 | } 50 | 51 | @media (max-width: 768px) { 52 | .accordion-title { 53 | font-size: 16px; 54 | padding: 10px; 55 | } 56 | .accordion-content p, 57 | .accordion-content ol { 58 | padding: 10px; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/FAQAccordion.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from 'react'; 2 | import './FAQAccordion.css'; 3 | 4 | const AccordionItem = ({ title, content }) => { 5 | const [isOpen, setIsOpen] = useState(false); 6 | 7 | const toggleAccordion = () => { 8 | setIsOpen(!isOpen); 9 | }; 10 | 11 | return ( 12 |
13 |
14 | {title} 15 |
16 |
17 | {content} 18 |
19 |
20 | ); 21 | }; 22 | 23 | const FAQ = () => { 24 | return ( 25 |
26 |

Frequently Asked Questions

27 | 31 | An open source contribution refers to the act of participating in the development or improvement of open source software. Open source software is software with source code that anyone can inspect, modify, and enhance. Contributions can take many forms, including code submissions, bug reports, documentation, translations, and more. 32 |

33 | } 34 | /> 35 | 39 | Open source contributions are vital because they foster innovation, collaboration, and transparency. They allow developers to share their work, improve existing software, and learn from others. Open source projects can benefit from a diverse set of contributors, leading to more robust, secure, and feature-rich software. Moreover, contributing to open source can enhance a developer's skills, build their portfolio, and grow their professional network. 40 |

41 | } 42 | /> 43 | 47 |

Contributing to open source can be done in several steps:

48 |
    49 |
  1. 50 | Find a Project: Look for a project that interests you and matches your skill set. GitHub, GitLab, and other platforms host many open source projects. 51 |
  2. 52 |
  3. 53 | Understand the Project: Read the project's documentation, guidelines, and contributing instructions. This will help you understand the project's goals and how you can contribute. 54 |
  4. 55 |
  5. 56 | Pick an Issue: Look for issues labeled as "good first issue" or "help wanted." These are typically beginner-friendly and can be a good starting point. 57 |
  6. 58 |
  7. 59 | Fork and Clone the Repository: Fork the project repository to your GitHub account and clone it to your local machine. 60 |
  8. 61 |
  9. 62 | Make Changes: Create a new branch, make your changes, and test them thoroughly. 63 |
  10. 64 |
  11. 65 | Submit a Pull Request (PR): Push your changes to your forked repository and create a pull request. Describe the changes you made and why they are necessary. 66 |
  12. 67 |
68 |

69 | Remember to be patient and open to feedback from project maintainers. Contributing to open source is a collaborative effort, and constructive feedback helps everyone improve. 70 |

71 |
72 | } 73 | /> 74 | 75 | ); 76 | }; 77 | 78 | export default FAQ; 79 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Footer/Footer.css: -------------------------------------------------------------------------------- 1 | .footer-custom { 2 | background-color: #ef5941; 3 | color: #ffffff; 4 | } 5 | 6 | .footer-custom h4, 7 | .footer-custom p{ 8 | margin-left: 75px; 9 | } 10 | 11 | .footer-custom h4, 12 | .footer-custom h5 { 13 | color: #ffffff; 14 | } 15 | 16 | .footer-custom ul { 17 | padding-left: 0; 18 | 19 | } 20 | 21 | .footer-custom ul li { 22 | list-style: none; 23 | margin-bottom: 10px; 24 | } 25 | 26 | .footer-custom a { 27 | color: #ffffff; 28 | text-decoration: none; 29 | } 30 | 31 | .footer-custom a:hover { 32 | text-decoration: underline; 33 | } 34 | 35 | .text-muted { 36 | font-size: 14px; 37 | /* margin: 0; */ 38 | width: 100%; 39 | text-align: center; 40 | } 41 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Footer/Footer.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Container, Row, Col } from "react-bootstrap"; 3 | import { Link } from "react-router-dom"; 4 | import { FaTwitter, FaFacebook, FaLinkedin } from "react-icons/fa"; 5 | import "./Footer.css"; 6 | 7 | const Footer = () => { 8 | return ( 9 |
10 | 11 | 12 | 13 |

Open Source Galaxy

14 |

15 | A platform where users can stay up-to-date with upcoming open 16 | source projects 17 |

18 | 19 | 20 |

Links

21 |
    22 |
  • 23 | Home 24 |
  • 25 |
  • 26 | About 27 |
  • 28 |
  • 29 | Blogs 30 |
  • 31 |
32 | 33 | 34 |

Connect

35 | 64 | 65 |
66 | 67 | 68 | 69 |

70 | © {new Date().getFullYear()} Open Source Galaxy. All rights 71 | reserved. 72 |

73 | 74 |
75 |
76 |
77 | ); 78 | }; 79 | 80 | export default Footer; 81 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Header.css: -------------------------------------------------------------------------------- 1 | *{ 2 | margin: 0; 3 | border: 0; 4 | font-family: "Reddit Sans", sans-serif; 5 | font-optical-sizing: auto; 6 | font-weight: 400; 7 | font-style: normal; 8 | color: #EEEEEE; 9 | } 10 | 11 | .header{ 12 | /* background-color: #A33327; */ 13 | /* height: 50px; */ 14 | /* border-radius: 25px; */ 15 | width: 90%; 16 | margin: 0 auto; 17 | padding-left: 10px; 18 | display: flex; 19 | /* margin-left: 30px; */ 20 | /* background-color: #fff; */ 21 | font-size: x-large; 22 | justify-content: space-between; 23 | } 24 | 25 | .header > h1{ 26 | font-family: "PT Serif Caption", serif; 27 | font-weight: 400; 28 | font-style: normal; 29 | text-align: left; 30 | color: #F05941; 31 | padding: 10px; 32 | /* margin-left: 8px; */ 33 | 34 | } 35 | 36 | 37 | /* .profile{ 38 | height: 50px; 39 | width: 80px; 40 | margin: 10px 20px 5px 5px; 41 | 42 | cursor: pointer; 43 | background-color: #C7493A; 44 | font-weight: bold; 45 | font-size: large; 46 | background-color: none; 47 | } */ 48 | 49 | /* Adding Responsiveness */ 50 | @media (max-width: 1025px) { 51 | .header{ 52 | /* background-color: #A33327; */ 53 | /* height: 50px; */ 54 | /* border-radius: 25px; */ 55 | margin: 10px; 56 | display: flex; 57 | justify-content: space-evenly; 58 | margin-left: 30px; 59 | /* background-color: #fff; */ 60 | font-size: medium; 61 | width: 100%; 62 | } 63 | .header > h1{ 64 | text-align: left; 65 | color: #C7493A; 66 | padding: 10px; 67 | width: 100%; 68 | /* margin-left: 8px; */ 69 | 70 | } 71 | 72 | 73 | 74 | } -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Header.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import './Header.css' 3 | import SearchBar from './SearchBar'; 4 | import Authentication from './Authentication'; 5 | import ThemeToggle from './ThemeToggle'; 6 | import { ThemeContext } from './ThemeContext'; 7 | import { useEffect,useContext } from 'react'; 8 | 9 | function Header() { 10 | const { isDarkMode, toggleTheme } = useContext(ThemeContext); 11 | 12 | useEffect(()=>{ 13 | document.body.className = isDarkMode ? 'dark-mode' : 'light-mode'; 14 | },[isDarkMode]) 15 | 16 | return ( 17 |
18 |

19 | Open Source Galaxy 20 |

21 | 22 | 23 | 24 |
25 | ) 26 | } 27 | 28 | export default Header -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Home.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const Home = () => { 4 | return ; 5 | }; 6 | 7 | export default Home; 8 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Login.css: -------------------------------------------------------------------------------- 1 | .profile { 2 | height: max-content; 3 | /* width: 80px; 4 | margin: 20px 20px 5px 5px; */ 5 | cursor: pointer; 6 | background: #8d200f; 7 | 8 | padding: 0.8rem; 9 | border-radius: 20px; 10 | transition: background-color 0.3s, transform 0.3s; 11 | } 12 | 13 | .profile:hover { 14 | background: #8d200f; 15 | transform: scale(1.03); 16 | } 17 | 18 | .profile:active { 19 | background-color: #c04330; 20 | transform: scale(0.95); 21 | } 22 | 23 | @keyframes buttonFadeIn { 24 | from { 25 | opacity: 0; 26 | } 27 | to { 28 | opacity: 1; 29 | } 30 | } 31 | 32 | .profile { 33 | animation: buttonFadeIn 1s ease-in-out; 34 | } 35 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Login.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { useAuth0 } from "@auth0/auth0-react"; 3 | import "./Login.css"; 4 | 5 | const Login = () => { 6 | const { loginWithRedirect } = useAuth0(); 7 | return ( 8 | 15 | ); 16 | }; 17 | 18 | export default Login; 19 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Navbar/CustomNavbar.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Link } from "react-router-dom"; 3 | import Container from "react-bootstrap/Container"; 4 | import Nav from "react-bootstrap/Nav"; 5 | import Navbar from "react-bootstrap/Navbar"; 6 | import Form from "react-bootstrap/Form"; 7 | import Button from "react-bootstrap/Button"; 8 | import Row from "react-bootstrap/Row"; 9 | import Col from "react-bootstrap/Col"; 10 | import NavDropdown from "react-bootstrap/NavDropdown"; 11 | import Login from "../Login"; 12 | import "./Navbar.css"; 13 | 14 | export default function CustomNavbar() { 15 | return ( 16 | 17 | 18 | 19 | Open Source Galaxy 20 | 21 | 22 | 23 | 46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
56 | 57 | 58 |
59 |
60 |
61 | ); 62 | } 63 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Navbar/Navbar.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap"); 2 | @import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Playwrite+NG+Modern:wght@100..400&display=swap"); 3 | .navbar-custom { 4 | background-color: #ef5941; 5 | transition: all 0.3s ease; 6 | } 7 | 8 | .navbar-custom .navbar-brand { 9 | font-size: 1.6rem; 10 | font-weight: 900; 11 | align-items: center; 12 | color: white; 13 | font-optical-sizing: auto; 14 | font-style: normal; 15 | margin-left: 10px; 16 | } 17 | 18 | .navbar-custom .navbar-brand:hover { 19 | color: white; 20 | } 21 | 22 | .navbar-custom .button { 23 | background: #8d200f; 24 | border: none; 25 | color: white; 26 | } 27 | 28 | .navbar-custom .button:hover { 29 | background: #8d200f; 30 | transform: scale(1.03); 31 | } 32 | 33 | .navbar-custom .nav-link { 34 | margin-right: 0.3rem; 35 | letter-spacing: 1px; 36 | font-weight: 500; 37 | } 38 | 39 | .navbar-custom .nav-link, 40 | .navbar-custom .nav-dropdown-item, 41 | .navbar-custom .navbar-toggler, 42 | #basic-nav-dropdown { 43 | color: white; 44 | } 45 | 46 | .navbar-custom .nav-link:hover, 47 | .navbar-custom .nav-dropdown-item:hover { 48 | color: white !important; 49 | } 50 | 51 | .navbar-custom .navbar-toggler { 52 | border-color: #fff; 53 | } 54 | 55 | .navbar-custom .navbar-toggler-icon { 56 | background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); 57 | } 58 | 59 | /* Add margin beneath the dropdown on smaller screens when the navbar is collapsed */ 60 | @media (max-width: 992px) { 61 | .navbar-collapse .dropdown-menu { 62 | margin-bottom: 15px; 63 | } 64 | 65 | .navbar-collapse { 66 | transition: all 0.3s ease; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Profile.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | .profile-pic > img{ 5 | height: 50px; 6 | width: 50px; 7 | margin: 10px 20px 5px 5px; 8 | border-radius: 50%; 9 | background-color: #F05941; 10 | } 11 | 12 | @media (max-width: 1025px){ 13 | 14 | .profile-pic > img{ 15 | height: 40px; 16 | width: 40px; 17 | margin-right: 50px; 18 | cursor: pointer; 19 | border-radius: 50%; 20 | } 21 | } -------------------------------------------------------------------------------- /open-source-galaxy/src/components/Profile.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { useAuth0 } from '@auth0/auth0-react'; 3 | import './Profile.css'; 4 | 5 | function Profile() { 6 | const { user, isAuthenticated, logout} = useAuth0(); 7 | return ( 8 | isAuthenticated && ( 9 |
10 | {user.name} logout({ logoutParams: { returnTo: window.location.origin } })}/> 11 |
12 | ) 13 | 14 | ) 15 | } 16 | 17 | export default Profile 18 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/SearchBar.css: -------------------------------------------------------------------------------- 1 | .search-bar{ 2 | margin: 10px; 3 | display: flex; 4 | width: 50%; 5 | justify-content: space-between; 6 | /* margin-right: 20px; */ 7 | 8 | } 9 | 10 | .search-bar > input{ 11 | width: 50%; 12 | height: 50%; 13 | border-radius: 50px; 14 | font-size: x-large; 15 | padding: 10px; 16 | background-color: #F05941; 17 | color: #EEEEEE; 18 | margin-left: 150px; 19 | margin-top:10px; 20 | } 21 | 22 | ::placeholder { 23 | color: #EEEEEE; 24 | opacity: 0.8; /* Firefox */ 25 | } 26 | 27 | .search-icon{ 28 | width: 50px; 29 | height: 50px; 30 | border-radius: 50%; 31 | margin-left: 0; 32 | align-self: center; 33 | cursor: pointer; 34 | margin-left: 0px; 35 | margin-right: 110px; 36 | margin-top: 10px; 37 | background-color: #F05941; 38 | 39 | /*transition*/ 40 | transition: background-color 0.3s, transform 0.3s; 41 | } 42 | .search-icon:hover{ 43 | background-color: #e04834; 44 | transform: scale(1.05); 45 | } 46 | 47 | .search-icon:active { 48 | background-color: #c04330; 49 | transform: scale(0.95); 50 | } 51 | .search-icon > img{ 52 | width: 25px; 53 | height: 25px; 54 | 55 | } 56 | 57 | @keyframes buttonFadeIn { 58 | from { opacity: 0; } 59 | to { opacity: 1; } 60 | } 61 | .search-bar { 62 | animation: buttonFadeIn 1s ease-in-out; 63 | } 64 | .search-icon{ 65 | animation: buttonFadeIn 1s ease-in-out; 66 | } 67 | 68 | 69 | @media (max-width: 1025px){ 70 | .search-bar{ 71 | display: none; 72 | } 73 | .search-icon{ 74 | display: none; 75 | } 76 | } -------------------------------------------------------------------------------- /open-source-galaxy/src/components/SearchBar.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './SearchBar.css'; 3 | import searchIcon from '../assets/search-icon.png' 4 | import searchIcon2 from '../assets/icons8-search-50.png' 5 | 6 | function SearchBar() { 7 | return ( 8 |
9 | 10 | 11 | 14 | 15 |
16 | ) 17 | } 18 | 19 | export default SearchBar 20 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ThemeContext.js: -------------------------------------------------------------------------------- 1 | import React, { createContext, useState, useEffect } from 'react'; 2 | 3 | export const ThemeContext = createContext(); 4 | 5 | export const ThemeProvider = ({ children }) => { 6 | const [isDarkMode, setIsDarkMode] = useState(false); 7 | const toggleTheme = () => { 8 | setIsDarkMode(!isDarkMode); 9 | }; 10 | 11 | return ( 12 | 13 | {children} 14 | 15 | ); 16 | }; 17 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ThemeToggle.css: -------------------------------------------------------------------------------- 1 | @import url(https://cdn.jsdelivr.net/npm/theme-toggles@4.10.1/css/expand.min.css); 2 | 3 | svg { 4 | scale: 300%; 5 | } 6 | -------------------------------------------------------------------------------- /open-source-galaxy/src/components/ThemeToggle.js: -------------------------------------------------------------------------------- 1 | import React, { useContext } from 'react'; 2 | import { ThemeContext } from './ThemeContext'; 3 | import './ThemeToggle.css'; 4 | 5 | const ThemeToggle = () => { 6 | const { isDarkMode, toggleTheme } = useContext(ThemeContext); 7 | 8 | return ( 9 | 35 | ); 36 | }; 37 | 38 | export default ThemeToggle; 39 | -------------------------------------------------------------------------------- /open-source-galaxy/src/index.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=PT+Serif+Caption:ital@0;1&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Reddit+Sans:ital,wght@0,200..900;1,200..900&display=swap'); 3 | 4 | body { 5 | margin: 0; 6 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 7 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 8 | sans-serif; 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | background-color: #1E1E1E; 12 | overflow-x: hidden; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /open-source-galaxy/src/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import "./index.css"; 4 | import App from "./App"; 5 | import reportWebVitals from "./reportWebVitals"; 6 | import { Auth0Provider } from "@auth0/auth0-react"; 7 | import "bootstrap/dist/css/bootstrap.min.css"; 8 | 9 | 10 | const root = ReactDOM.createRoot(document.getElementById("root")); 11 | // root.render( 12 | // 13 | // 14 | // 15 | 16 | // ); 17 | const domain = process.env.REACT_APP_AUTH0_DOMAIN; 18 | const clientId = process.env.REACT_APP_AUTH0_CLIENT_ID; 19 | root.render( 20 | 27 | 28 | 29 | ); 30 | // If you want to start measuring performance in your app, pass a function 31 | // to log results (for example: reportWebVitals(console.log)) 32 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 33 | reportWebVitals(); 34 | -------------------------------------------------------------------------------- /open-source-galaxy/src/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /open-source-galaxy/src/new_blog_page/new_blog_page.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #1e1e1e; 3 | color: #c7493a; 4 | font-family: 'Roboto', sans-serif; 5 | margin: 0; 6 | padding: 0; 7 | } 8 | 9 | .container { 10 | display: flex; 11 | flex-direction: column; 12 | min-height: 100vh; 13 | } 14 | 15 | header { 16 | background-color: #333; 17 | color: #fff; 18 | text-align: center; 19 | padding: 1em 0; 20 | position: sticky; 21 | top: 0; 22 | z-index: 1000; 23 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); 24 | } 25 | 26 | header h1 { 27 | font-size: 2.5em; 28 | margin: 0; 29 | position: relative; 30 | z-index: 1; 31 | animation: slide-in 1.5s forwards; 32 | font-family: 'Kameron', serif; 33 | } 34 | 35 | @keyframes slide-in { 36 | 0% { transform: translateY(-100px); opacity: 0; } 37 | 100% { transform: translateY(0); opacity: 1; } 38 | } 39 | 40 | .main { 41 | display: flex; 42 | flex: 1; 43 | margin-top: 10px; 44 | padding: 10px; 45 | } 46 | 47 | .sidebar { 48 | background-color: #2e2e2e; 49 | padding: 1em; 50 | width: 250px; 51 | position: sticky; 52 | top: 60px; 53 | height: calc(100vh - 60px); 54 | overflow-y: auto; 55 | } 56 | 57 | .sidebar h3 { 58 | color: #c7493a; 59 | margin-bottom: 10px; 60 | } 61 | 62 | .sidebar ul { 63 | list-style-type: none; 64 | padding: 0; 65 | margin: 0; 66 | } 67 | 68 | .sidebar a { 69 | color: #c7493a; 70 | text-decoration: none; 71 | display: block; 72 | padding: 10px; 73 | border-radius: 5px; 74 | transition: all 0.3s ease; 75 | } 76 | 77 | .sidebar a:hover { 78 | background-color: #3e3e3e; 79 | } 80 | 81 | .content { 82 | padding: 1em; 83 | flex: 1; 84 | background-color: #1e1e1e; 85 | border-radius: 8px; 86 | } 87 | 88 | .content h2 { 89 | color: #c7493a; 90 | margin-top: 0; 91 | } 92 | 93 | .hackathon-section { 94 | background-color: #333; 95 | border-radius: 8px; 96 | padding: 15px; 97 | margin-bottom: 20px; 98 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); 99 | } 100 | 101 | .hackathon-section h2 { 102 | color: #c7493a; 103 | margin-top: 0; 104 | } 105 | 106 | .experience { 107 | background-color: #2e2e2e; 108 | border-radius: 8px; 109 | padding: 15px; 110 | margin-top: 10px; 111 | display: flex; 112 | align-items: center; 113 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); 114 | transition: transform 0.3s; 115 | } 116 | 117 | .experience:hover { 118 | transform: scale(1.05); 119 | } 120 | 121 | .experience img { 122 | border-radius: 50%; 123 | margin-right: 15px; 124 | height: 60px; 125 | width: 60px; 126 | object-fit: cover; 127 | } 128 | 129 | .experience-details { 130 | flex: 1; 131 | } 132 | 133 | .experience h3 { 134 | color: #c7493a; 135 | margin-top: 0; 136 | } 137 | 138 | .greenline { 139 | padding: 1px; 140 | background-color: #43844d; 141 | width: 100%; 142 | margin-top: auto; 143 | } 144 | 145 | footer { 146 | background-color: #333; 147 | color: #fff; 148 | padding: 1.5em 0; 149 | width: 100%; 150 | display: flex; 151 | flex-direction: column; 152 | align-items: center; 153 | justify-content: center; 154 | } 155 | 156 | .footer-container { 157 | display: flex; 158 | justify-content: space-between; 159 | align-items: center; 160 | max-width: 1200px; 161 | width: 100%; 162 | padding: 0 20px; 163 | box-sizing: border-box; 164 | flex-wrap: wrap; 165 | border-top: 2px solid #43844d; 166 | padding-top: 20px; 167 | } 168 | 169 | .footer-section { 170 | text-align: center; 171 | margin: 10px 0; 172 | flex: 1; 173 | } 174 | 175 | .social-links { 176 | text-align: left; 177 | } 178 | 179 | .share-experience { 180 | text-align: right; 181 | } 182 | 183 | .footer-description { 184 | font-size: 1.2em; 185 | font-weight: bold; 186 | margin-bottom: 10px; 187 | padding-left: 5%; 188 | } 189 | 190 | .social-icons { 191 | display: flex; 192 | justify-content: flex-start; 193 | gap: 10px; 194 | } 195 | 196 | .social-icons a img { 197 | width: 30px; 198 | height: 30px; 199 | } 200 | #twitter{ 201 | height: 26px; 202 | width: 27px; 203 | position: relative; 204 | top: 2px; 205 | } 206 | 207 | .gform-link { 208 | display: inline-block; 209 | background-color: #c7493a; 210 | color: #fff; 211 | padding: 10px 13px; 212 | text-decoration: none; 213 | border-radius: 5px; 214 | transition: background-color 0.3s ease; 215 | } 216 | 217 | .gform-link:hover { 218 | background-color: #b03828; 219 | } 220 | 221 | .footer-bottom { 222 | text-align: center; 223 | margin-top: 10px; 224 | } 225 | 226 | .footer-bottom p { 227 | margin: 0; 228 | font-size: 0.9em; 229 | color: #aaa; 230 | } 231 | -------------------------------------------------------------------------------- /open-source-galaxy/src/new_blog_page/new_blog_page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Experiences from Open Source Events 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |

Experiences from Open Source Events

15 |
16 |
17 | 30 |
31 |
32 |

GSoC (Google Summer of Code)

33 |
34 | User Image 35 |
36 |

John Doe

37 |

Submitted on 2023-06-01

38 |

Participating in GSoC was an incredible experience. I learned a lot about open-source development and made lasting connections.

39 |
40 |
41 |
42 | User Image 43 |
44 |

Jane Smith

45 |

Submitted on 2023-06-15

46 |

GSoC allowed me to work on a project that I am passionate about, and it gave me the opportunity to collaborate with experts in the field.

47 |
48 |
49 |
50 | User Image 51 |
52 |

Emily Brown

53 |

Submitted on 2023-07-10

54 |

The mentorship and support during GSoC were exceptional. I gained valuable skills that have been crucial for my career.

55 |
56 |
57 |
58 |
59 |

MLH Fellowship

60 |
61 | User Image 62 |
63 |

John Doe

64 |

Submitted on 2023-06-01

65 |

The MLH Fellowship provided a unique opportunity to work on real-world projects with a team of like-minded individuals. The mentorship and guidance were invaluable.

66 |
67 |
68 |
69 | User Image 70 |
71 |

Michael Johnson

72 |

Submitted on 2023-06-20

73 |

The MLH Fellowship was a transformative experience that improved my coding skills and gave me confidence in my abilities.

74 |
75 |
76 |
77 | User Image 78 |
79 |

Sophia Williams

80 |

Submitted on 2023-07-05

81 |

Collaborating with peers and mentors during the MLH Fellowship was incredibly rewarding. It was a perfect blend of learning and applying new knowledge.

82 |
83 |
84 |
85 |
86 |

Linux Kernel Mentorship Program

87 |
88 | User Image 89 |
90 |

Linda Green

91 |

Submitted on 2023-06-10

92 |

The Linux Kernel Mentorship Program helped me understand the intricacies of kernel development and gave me hands-on experience with real-world issues.

93 |
94 |
95 |
96 | User Image 97 |
98 |

Kevin White

99 |

Submitted on 2023-06-25

100 |

Being a part of the Linux Kernel Mentorship Program was a challenging yet rewarding experience. It significantly enhanced my problem-solving skills.

101 |
102 |
103 |
104 |
105 |

FOSSASIA

106 |
107 | User Image 108 |
109 |

Chris Lee

110 |

Submitted on 2023-06-12

111 |

Contributing to FOSSASIA was a great way to give back to the open-source community. The experience was both educational and fulfilling.

112 |
113 |
114 |
115 | User Image 116 |
117 |

Alice Thompson

118 |

Submitted on 2023-07-01

119 |

FOSSASIA provided a platform to collaborate with developers from around the world. The experience broadened my horizons and improved my technical skills.

120 |
121 |
122 |
123 |
124 |

Hacktoberfest

125 |
126 | User Image 127 |
128 |

Brian Davis

129 |

Submitted on 2023-06-15

130 |

Hacktoberfest was an exciting opportunity to contribute to various open-source projects. It motivated me to continue contributing to the open-source community.

131 |
132 |
133 |
134 | User Image 135 |
136 |

Rachel Adams

137 |

Submitted on 2023-07-03

138 |

Participating in Hacktoberfest was a fun and rewarding experience. It helped me connect with other developers and improve my coding skills.

139 |
140 |
141 |
142 |
143 |

GirlScript Summer of Code

144 |
145 | User Image 146 |
147 |

Melissa Clarke

148 |

Submitted on 2023-06-20

149 |

GirlScript Summer of Code was an empowering experience. It was amazing to see so many women in tech coming together to build and learn.

150 |
151 |
152 |
153 | User Image 154 |
155 |

Lucy Harris

156 |

Submitted on 2023-07-08

157 |

The collaborative environment of GirlScript Summer of Code was inspiring. It boosted my confidence and technical skills.

158 |
159 |
160 |
161 |
162 |

Outreachy Internship Program

163 |
164 | User Image 165 |
166 |

Karen Scott

167 |

Submitted on 2023-06-18

168 |

Outreachy was a life-changing experience. It provided a platform for me to work on meaningful projects and receive excellent mentorship.

169 |
170 |
171 |
172 | User Image 173 |
174 |

Oliver Jackson

175 |

Submitted on 2023-07-10

176 |

Participating in Outreachy was an eye-opener. The inclusive environment and supportive community were outstanding.

177 |
178 |
179 |
180 |
181 |

Summer of Bitcoin

182 |
183 | User Image 184 |
185 |

Samuel Evans

186 |

Submitted on 2023-06-22

187 |

Summer of Bitcoin was a fascinating experience. It deepened my understanding of blockchain technology and its potential applications.

188 |
189 |
190 |
191 | User Image 192 |
193 |

Jessica Martin

194 |

Submitted on 2023-07-12

195 |

Working on Bitcoin-related projects during the Summer of Bitcoin was intellectually stimulating and highly rewarding.

196 |
197 |
198 |
199 | 200 |
201 |
202 |
203 | 218 | 221 |
222 | 223 |
224 | 227 | 228 | 229 | -------------------------------------------------------------------------------- /open-source-galaxy/src/new_blog_page/new_blog_page.js: -------------------------------------------------------------------------------- 1 | // Selecting elements 2 | const experienceForm = document.getElementById('experienceForm'); 3 | const content = document.getElementById('content'); 4 | 5 | // Function to add new experience 6 | function addExperience(name, event, date, image, experience) { 7 | // Find if the section for the event already exists 8 | let section = document.querySelector(`#${event.toLowerCase().replace(/\s+/g, '')}`); 9 | 10 | if (!section) { 11 | // Create a new section if it doesn't exist 12 | section = document.createElement('div'); 13 | section.classList.add('hackathon-section'); 14 | section.id = event.toLowerCase().replace(/\s+/g, ''); 15 | 16 | const h2 = document.createElement('h2'); 17 | h2.textContent = event; 18 | 19 | section.appendChild(h2); 20 | 21 | content.appendChild(section); // Append new section to the content 22 | } 23 | 24 | const div1 = document.createElement('div'); 25 | div1.classList.add('experience'); 26 | 27 | const img = document.createElement('img'); 28 | img.src = image; 29 | img.alt = 'User Image'; 30 | 31 | const div2 = document.createElement('div'); 32 | div2.classList.add('experience-details'); 33 | 34 | const h3 = document.createElement('h3'); 35 | h3.textContent = name; 36 | 37 | const p1 = document.createElement('p'); 38 | p1.classList.add('experience-date'); 39 | p1.textContent = `Submitted on ${date}`; 40 | 41 | const p2 = document.createElement('p'); 42 | p2.textContent = experience; 43 | 44 | // Appending elements 45 | div2.appendChild(h3); 46 | div2.appendChild(p1); 47 | div2.appendChild(p2); 48 | 49 | div1.appendChild(img); 50 | div1.appendChild(div2); 51 | 52 | section.appendChild(div1); 53 | } 54 | 55 | // Event listener for form submission 56 | experienceForm.addEventListener('submit', function(event) { 57 | event.preventDefault(); 58 | 59 | // Retrieve form data 60 | const name = document.getElementById('name').value; 61 | const eventValue = document.getElementById('event').value; 62 | const date = document.getElementById('date').value; 63 | const image = document.getElementById('image').value; 64 | const experience = document.getElementById('experience').value; 65 | 66 | // Add new experience to the page 67 | addExperience(name, eventValue, date, image, experience); 68 | 69 | // Reset form 70 | this.reset(); 71 | }); -------------------------------------------------------------------------------- /open-source-galaxy/src/profile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Contrib-U/Open-Source-Galaxy/595c9576d0d3fc068d9240d47d44c744fed81480/open-source-galaxy/src/profile.jpg -------------------------------------------------------------------------------- /open-source-galaxy/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /open-source-galaxy/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Open-Source-Galaxy", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": {} 6 | } 7 | --------------------------------------------------------------------------------