Skip to content

pizofreude/edulaluan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EduLaluan

A smart education resource navigator for Malaysian B40, M40 & T20 communities

License Built with Astro

EduLaluan (Education Path) helps Malaysian families discover scholarships, free courses, vocational training, and financial aid programs tailored to their income bracket and educational goals.

πŸ† Built for Krackathon - Category: Best Practical Use

✨ Features

  • 🎯 Smart Navigator: Answer simple questions to get personalized resource recommendations
  • πŸ” Advanced Filtering: Search and filter by category, income group, cost, and education level
  • πŸ“š Comprehensive Database: 146+ curated educational resources including:
    • 77 Malaysian government boarding schools (SBP/Sekolah Berasrama Penuh)
    • Government scholarships (PTPTN, PTPK, MARA, JPA, Khazanah, Petronas)
    • Free online courses (edX, Coursera, MIT OCW, CS50, Code.org)
    • Digital skills training (freeCodeCamp, 42 Penang, KrackedDevs)
    • Financial aid programs
    • TVET and vocational training
    • Elite boarding schools (Eton, Le Rosey, Phillips Exeter, MCKK)
    • Top universities (Oxford, Stanford, ETH Zurich)
  • πŸŽ“ Education Level Filtering: Resources tagged by Malaysian education system (Primary, Secondary, Post-Secondary, Tertiary)
  • πŸ’° Income-Specific: Resources tagged for B40, M40, and T20 households
  • 🌐 Multi-Language: Support for English and Bahasa Malaysia content
  • πŸ“± Mobile-First: Fully responsive design for all devices
  • ⚑ Lightning Fast: Static-first architecture with React islands

πŸ› οΈ Tech Stack

  • Framework: Astro 5.x - Static-first, islands architecture
  • UI Library: React 18 - Interactive components as Astro islands
  • Styling: Tailwind CSS 4 - Utility-first CSS
  • Components: shadcn/ui - Beautiful, accessible components
  • Data: Astro Content Collections with JSON files
  • Deployment: Netlify - Free static hosting
  • Language: TypeScript - Type-safe development

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm

Installation

  1. Clone the repository:
git clone https://github.com/pizofreude/edulaluan.git
cd edulaluan
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser to http://localhost:4321

Build for Production

npm run build

The built site will be in the dist/ directory.

Preview Production Build

npm run preview

πŸ“ Project Structure

edulaluan/
β”œβ”€β”€ public/              # Static assets
β”‚   └── favicon.svg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/      # Astro & React components
β”‚   β”‚   β”œβ”€β”€ ui/         # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ Header.astro
β”‚   β”‚   β”œβ”€β”€ Footer.astro
β”‚   β”‚   β”œβ”€β”€ Hero.astro
β”‚   β”‚   β”œβ”€β”€ Navigator.tsx      # Multi-step wizard
β”‚   β”‚   β”œβ”€β”€ ResourceCard.tsx   # Resource display
β”‚   β”‚   └── FilterBar.tsx      # Filtering interface
β”‚   β”œβ”€β”€ content/
β”‚   β”‚   β”œβ”€β”€ config.ts          # Content collection schema
β”‚   β”‚   └── resources/         # 40+ JSON resource files
β”‚   β”œβ”€β”€ layouts/
β”‚   β”‚   └── Layout.astro       # Base HTML layout
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── utils.ts           # Utility functions
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ index.astro        # Landing page
β”‚   β”‚   β”œβ”€β”€ navigate.astro     # Navigator page
β”‚   β”‚   β”œβ”€β”€ resources.astro    # All resources
β”‚   β”‚   └── about.astro        # About page
β”‚   └── styles/
β”‚       └── global.css         # Global styles + Tailwind
β”œβ”€β”€ astro.config.mjs     # Astro configuration
β”œβ”€β”€ tailwind.config.mjs  # Tailwind configuration
β”œβ”€β”€ tsconfig.json        # TypeScript configuration
└── package.json

πŸ“ Adding New Resources

Resources are stored as JSON files in src/content/resources/. To add a new resource:

  1. Create a new .json file in src/content/resources/
  2. Follow the schema:
{
  "name": "Resource Name",
  "provider": "Provider Organization",
  "description": "Brief description of the resource",
  "url": "https://example.com",
  "category": "scholarship",
  "incomeGroups": ["B40", "M40"],
  "cost": "free",
  "mode": "online",
  "language": ["en", "ms"],
  "tags": ["tag1", "tag2"],
  "featured": false,
  "educationLevel": ["secondary", "tertiary"]
}

Categories: scholarship, mooc, tvet, financial-aid, digital-skills, degree, secondary-education, elite-institutions, community, other

Income Groups: B40 (< RM4,850), M40 (RM4,850-10,970), T20 (> RM10,970)

Cost: free, subsidized, paid

Mode: online, in-person, hybrid

Languages: en, ms, zh, ta

Education Levels (optional): primary (Std 1-6), secondary (Form 1-5/SPM), post-secondary (STPM/Diploma), tertiary (Degree+), all-levels

  1. The resource will automatically appear on the site after rebuilding

🎨 Design System

  • Primary Color: Teal (#0d9488) - Represents growth and education
  • Accent Color: Amber/Gold (#d97706) - Malaysian-inspired warmth
  • Typography: Inter font family
  • Components: Built with shadcn/ui for consistency and accessibility

🌍 Income Bracket Guide

  • B40 (Bottom 40%): Household income < RM4,850/month
  • M40 (Middle 40%): Household income RM4,850 - RM10,970/month
  • T20 (Top 20%): Household income > RM10,970/month

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. Add Resources: Submit new educational resources via pull request
  2. Improve UI/UX: Enhance the design or user experience
  3. Fix Bugs: Report or fix issues
  4. Translate: Help translate content to reach more Malaysians
  5. Share: Spread the word about EduLaluan

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test locally: npm run dev
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Built for Krackathon hackathon
  • Developed with assistance from GitHub Copilot
  • Inspired by the need to democratize access to education in Malaysia
  • Community resources curated from government agencies, NGOs, and educational platforms

πŸ“§ Contact

⚠️ Disclaimer

EduLaluan is an independent community project not officially affiliated with any government agency or organization. Information is provided for educational purposes. Always verify details with official sources before applying.


Built with ❀️ for Malaysian communities πŸ‡²πŸ‡Ύ

About

A smart education resource navigator for Malaysian B40, M40 & T20 communities.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors