Skip to content

UC-OSPO-Network/education

UC OSPO Education Lesson & Pathways Website

Work regarding the education subgroup. This repository hosts the Astro-based website for the UC OSPO Education Lesson & Pathways.

✨ Features

  • Comprehensive Lesson Library: Browse open source education lessons from The Carpentries, CodeRefinery, and other sources
  • Learning Pathways: Curated sequences of lessons organized by topic and skill level
  • Dynamic Data Integration: Content automatically synced from Google Sheets for easy updates
  • Advanced Search & Filtering: Find lessons by topic, source, duration, and difficulty level
  • Responsive Design: Optimized experience across desktop, tablet, and mobile devices
  • Automated Quality Checks: Built-in validation for data quality, links, and build integrity

🚀 Getting Started

This project was built with Astro.

Prerequisites

  • Node.js (version 20 or higher)
  • npm (Node Package Manager)
  • Git for version control
  • Basic familiarity with:
    • Command line interface
    • Astro framework (helpful but not required)
    • TypeScript (for contributing to the codebase)

Installation

  1. Clone the project:
    git clone https://github.com/UC-OSPO-Network/education.git
  2. Go to the project directory:
    cd education
  3. Install dependencies:
    npm install

Running Validation Checks

The project includes automated validation scripts to ensure data quality and build integrity:

# Validate data source from Google Sheets
node .github/scripts/validate-data.mjs

# Run TypeScript type checking
npx astro check

# Build the site
npm run build

# Validate build output (critical pages)
node .github/scripts/validate-build.mjs

# Check for broken internal links
node .github/scripts/check-links.mjs

These checks run automatically on pull requests via GitHub Actions.

Run Locally

To run the project locally in development mode:

npm run dev

This will start a local development server, usually at http://localhost:4321.

Deployment

This project is configured for deployment to GitHub Pages via GitHub Actions:

  • Production: Automatically deploys from the main branch to GitHub Pages
  • PR Previews: Pull requests automatically generate preview deployments via Vercel

The deployment workflow runs validation checks, builds the site, and publishes to GitHub Pages whenever changes are pushed to main.

📝 Usage

Browsing Lessons

Visit the live site to explore the lesson library:

  1. Browse by Category: Navigate through different topics and skill areas
  2. Search: Use the search functionality to find specific lessons
  3. Filter: Narrow results by source, duration, difficulty, or topic
  4. Learning Pathways: Follow curated sequences of lessons

Updating Content

Lesson data is managed through Google Sheets:

  1. Update the lesson inventory spreadsheet
  2. Changes are automatically pulled during the build process
  3. The site rebuilds and deploys when changes are pushed to the main branch

🗺️ Roadmap (Optional)

[TODO: Outline the future plans for this project. What's in the backlog, what's next? Refer to the Roadmap section in the README Guide.]

  • Research user needs for new product features
  • Develop initial product requirements document

Community & Contributing

We welcome contributions! Please see our guides below:

❓ FAQ (Optional)

[TODO: Add frequently asked questions and their answers here.]

📞 Contact

Have questions or suggestions? Reach out through:

🙏 Attribution

This project builds upon and integrates content from:

  • The Carpentries: Open source lessons for teaching foundational coding and data science skills
  • CodeRefinery: Training materials for research software development
  • Astro: Modern web framework for building fast, content-focused websites
  • PapaParse: CSV parsing library for data integration
  • Fuse.js: Lightweight fuzzy-search library for lesson discovery

Special thanks to all contributors and the open source education community.

👀 Want to learn more about Astro?

Feel free to check our documentation or jump into our Discord server.

About

Work regarding the education subgroup.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7