Connecting developers worldwide through open source collaboration
A modern, responsive landing page for Open Source World, built with React.js, TypeScript, Tailwind CSS, and Framer Motion. This project showcases our global community initiative and the Open Source Kashmir (OSK) regional branch.
- π¨ Modern Design: Clean, minimal, and attractive UI/UX with smooth animations
- π± Responsive Layout: Mobile-first design that works perfectly on all devices
- β‘ Interactive Components: Smooth scrolling navigation, hover effects, and micro-animations
- π Contact Form: Functional contact form with real-time validation
- π₯ Team Showcase: Dynamic team member cards with social links
- π Global & Local Focus: Information about OSW and Open Source Kashmir (OSK)
- π Social Integration: Links to GitHub, LinkedIn, Twitter, and YouTube
- π§ Newsletter: Stay updated with the latest community news
- βΏ Accessible: Built with accessibility best practices
- Frontend: React 19.1.1 with TypeScript 4.9.5
- Styling: Tailwind CSS 3.4.17 with custom design system
- Animations: Framer Motion 12.23.12
- Icons: React Icons 5.5.0
- Build Tool: Create React App with PostCSS
- Development: ESLint, Prettier, VS Code integration
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/theopensourceworld/open-source-world.git cd open-source-world -
Install dependencies
npm install
-
Start development server
npm start
Open http://localhost:3000 to view it in the browser.
-
Build for production
npm run build
src/
βββ components/
β βββ sections/
β β βββ HeroSection.tsx # Landing hero with animations
β β βββ AboutSection.tsx # OSW & OSK information
β β βββ TeamSection.tsx # Team member showcase
β β βββ ContactSection.tsx # Contact form & info
β β βββ CTABanner.tsx # Call-to-action banner
β βββ Navigation.tsx # Responsive navigation
β βββ Footer.tsx # Footer with links & newsletter
βββ utils/
β βββ animations.ts # Framer Motion variants
βββ types/
β βββ react-icons.d.ts # TypeScript declarations
βββ App.tsx # Main app component
βββ index.tsx # App entry point
βββ index.css # Global styles & Tailwind
- Primary: Green tones (#22c55e to #16a34a) - representing growth and nature
- Secondary: Slate tones (#0f172a to #f8fafc) - professional and modern
- Accents: White, gradients, and transparency effects
- Font Family: Inter (Google Fonts)
- Weights: 100-900 (variable font)
- Hierarchy: Clear heading and body text scales
- Buttons: Primary, secondary, and ghost variants
- Cards: Elevated with hover effects
- Forms: Clean inputs with validation states
- Navigation: Responsive with smooth scrolling
- Page Transitions: Smooth fade-ins and slide-ups
- Hover Effects: Scale, shadow, and color transitions
- Loading States: Spinner and progress indicators
- Scroll Animations: Elements animate into view
- Micro-interactions: Button presses and form feedback
Customize colors, fonts, and animations in tailwind.config.js:
theme: {
extend: {
colors: {
primary: { /* Your custom colors */ },
secondary: { /* Your custom colors */ }
},
fontFamily: {
'sans': ['Inter', 'system-ui', 'sans-serif']
}
}
}- Team Members: Edit
TeamSection.tsx - Contact Info: Update
ContactSection.tsx - Social Links: Modify throughout components
- Branding: Update logos and colors
- Install Tailwind CSS IntelliSense extension
- Copy VS Code settings (optional):
cp .vscode/settings.json.example .vscode/settings.json cp .vscode/css_custom_data.json.example .vscode/css_custom_data.json
npm start- Runs the app in development modenpm run build- Builds the app for productionnpm test- Launches the test runnernpm run eject- Ejects from Create React App
- ESLint: Configured for React and TypeScript
- Prettier: Code formatting (if configured)
- TypeScript: Strict type checking enabled
- Accessibility: ARIA labels and semantic HTML
Open Source World (OSW) is a global initiative connecting developers, designers, and tech enthusiasts through open source collaboration. Our mission is to democratize technology education and create sustainable opportunities for developers worldwide.
Our regional branch focused on nurturing open source talent and creating opportunities in the Kashmir valley and surrounding regions.
We welcome contributions β please read CONTRIBUTING.md for our contribution guidelines, branch naming, PR checklist, and how to request hacktoberfest-accepted labeling.
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure accessibility standards
- Test on multiple devices/browsers
Looking for a place to start? Here are 15 project ideas β pick one, open an issue to claim it, and get your first PR merged. Most are beginner-friendly and eligible for hacktoberfest-accepted (see CONTRIBUTING.md).
- Fix "good first issue" bugs β Squash small bugs tagged
good-first-issue(broken images, spacing issues on small screens, typos). Great for your first PR.- Files: any component; check Issues tab.
- Add a 404 page β Design an on-brand "page not found" screen that matches the OSW design system (cream background, brand orange, Fraunces headings) and hook it up as a fallback route.
- Files:
src/pages/,src/App.tsx.
- Files:
- Improve dark mode β Audit every page in dark theme and fix any hard-coded light colors or low-contrast text. Ensure nothing looks broken when
darkMode: 'class'is active.- Files: all components; check
src/context/ThemeContext.tsx.
- Files: all components; check
- Polish the design system β Extract repeated markup (buttons, inputs, tags) into reusable
Button,Card, andInputcomponents, extending the classes already defined insrc/index.css.- Files:
src/components/,src/index.css,tailwind.config.js.
- Files:
- Add a language switcher (i18n) β Set up
react-i18nextand translate the site into one new language (Hindi, Urdu, Arabic...). Keep the English default.- Files:
src/entry,src/components/.
- Files:
- Add a Projects community section β New
ProjectsSectionthat showcases community repos as cards. Bonus: fetch live repo data from the GitHub API (/orgs/theopensourceworld/repos).- Files:
src/components/sections/,src/pages/HomePage.tsx.
- Files:
- Write component tests β Add React Testing Library + Jest test suites for Navigation, Footer, ContactSection (validation + EmailJS mock), and HeroSection.
- Files:
src/components/**,src/App.test.tsx.
- Files:
- SEO & structured data β Add JSON-LD (Org/Website schema), richer Open Graph tags, a
sitemap.xml, androbots.txtfor better search visibility.- Files:
public/index.html,public/.
- Files:
- Performance pass β Lazy-load below-the-fold sections with
React.lazy, addloading="lazy"to images, and inspect the production bundle for size wins.- Files:
src/,public/.
- Files:
- Newsletter & contact form upgrades β Add a honeypot field, a GDPR-friendly consent checkbox, rate limiting, and a friendly success redirect for both the form and the footer newsletter.
- Files:
src/components/sections/ContactSection.tsx,src/components/Footer.tsx.
- Files:
- Accessibility audit β Run axe/Lighthouse, then implement fixes: skip-to-content link,
aria-liveform status, focus-visible styles, and keyboard-only navigation checks.- Files:
src/index.css,src/components/.
- Files:
- Live community stats β Build a stats bar that reads real numbers (contributors, stars, open PRs) from the GitHub API instead of hard-coded counts.
- Files:
src/pages/HomePage.tsx, new hook undersrc/utils/.
- Files:
- Motion & page transitions β Add direction-aware entrance animations, scroll-triggered reveals (already partly in
src/index.cssvia.stagger), and route transitions with Framer Motion.- Files:
src/,src/utils/animations.ts.
- Files:
- CI/CD pipeline β Add GitHub Actions: lint + typecheck + test on every PR, auto-build previews on Vercel/Netlify, and Dependabot for dependency updates.
- Files:
.github/workflows/.
- Files:
- Team page features β Add search/filter by skill (already started with category filters), mentor-availability badges, or drive members from a
contributors.jsondata file.- Files:
src/pages/TeamPage.tsx,src/components/sections/TeamSection.tsx.
- Files:
How to claim an idea: open an issue with the idea title, mention you're working on it, and reference the issue in your PR. Unsure how to pick? Reach out on Discord β maintainers are happy to mentor your first contribution.
- Email: opensourceworld.fyi@gmail.com
- GitHub: open-source-world
- LinkedIn: Open Source World
- Twitter: @opensourceworld
- YouTube: Open Source World
- Discord: Join our community
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with β€οΈ by the Open Source World community
- Icons by React Icons
- Animations powered by Framer Motion
- Styled with Tailwind CSS
- Fonts by Google Fonts
Open Source World - Building the future of technology together, one commit at a time. πβ¨
Made with β€οΈ by developers, for developers
