Skip to content

Mimi120/MDC-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MDC North Campus Pathway Planner

An interactive prototype that helps students explore holistic academic and career pathways from high school through graduate study. Students can filter by starting credential, degree goal, transfer institution, and estimated tuition and review detailed pathway timelines including articulation agreements, internships, certifications, and licensure milestones.

Tech Stack

  • Backend: Python, Flask, Flask-CORS
    REST API that aggregates curated pathways (backend/data.py) with live MDC program data (backend/program_data.py).
  • Frontend: HTML, CSS, Vanilla JavaScript
    Responsive UI in frontend/index.html, frontend/styles.css, and frontend/script.js with dynamic filtering, search suggestions, and modal details.

Project Structure

Sharkbyte 2025/
├── backend/
│   ├── app.py                # Flask API routes
│   ├── data.py               # Curated pathway definitions
│   ├── program_data.py       # MDC catalog fetch/cache
│   ├── programs_cache.json   # Cached catalog payload
│   └── requirements.txt      # Python dependencies
├── frontend/
│   ├── assets/               # Static assets (e.g., MDC logo)
│   ├── index.html            # Landing page markup
│   ├── styles.css            # UI styling
│   └── script.js             # Client-side logic (filters, carousel, modals)
└── README.md

Getting Started

  1. Create a virtual environment (optional but recommended)

    cd /path/to/project
    python -m venv .venv

    Activate it with .venv\Scripts\Activate.ps1 on Windows PowerShell or source .venv/bin/activate on macOS/Linux.

  2. Install backend dependencies

    pip install -r backend/requirements.txt
  3. Run the Flask API

    # Windows PowerShell
    $env:FLASK_APP = "backend.app"; flask run --reload
    
    # macOS/Linux (bash/zsh)
    export FLASK_APP=backend.app
    flask run --reload

    The API listens on http://127.0.0.1:5000. Health check: http://127.0.0.1:5000/api/health.

  4. Serve the front-end Option A: Use the built-in Python web server.

    cd frontend
    python -m http.server 3000

    Visit http://127.0.0.1:3000 in the browser. The JS auto-detects the API on port 5000 when running locally.

    Option B: Configure Flask to serve the static assets (future enhancement) by mounting the frontend directory within app.py using send_from_directory.

API Overview

  • GET /api/majors: Returns pathway summaries with optional query parameters:
    • q: text search (major titles, summaries, program names)
    • degree: target degree level (Associate, Bachelor, Master, Doctorate)
    • program: starting MDC credential type (AA, AS, BAS, etc.)
    • institution: any target transfer institution name fragment
    • tuition_max: maximum total in-state tuition for the pathway
  • GET /api/majors/<major_id>: Returns detailed information for a single major, including full pathway sequences, internships, certifications, and cost breakdowns.
  • GET /api/programs: Returns MDC academic program summaries (code, degree, credits, estimated costs, campuses). Supports the same query parameters as /api/majors.
  • GET /api/programs/<program_code>: Returns the full MDC program record used by the detail panel.
  • GET /api/filters: Provides dropdown metadata for front-end filters.
  • GET /api/health: Basic status payload.

Extending the Dataset

  • Refresh the official MDC program catalog (cached in backend/programs_cache.json):
    1. python -c "from backend.program_data import load_programs; load_programs(force_refresh=True)"
    2. Restart the Flask server so the refreshed cache is loaded.
  • Add or edit curated guided pathways in backend/data.py:
    1. Duplicate an existing major object and adjust the id, title, career_summary, and labor_outlook.
    2. Add MDC programs to the mdc_programs list.
    3. Provide one or more pathways with sequences, articulation notes, internships, certifications, and estimated costs.
    4. Update the exams and financial_aid sections as needed.
    5. Restart the Flask server to load the new data.

Consider integrating live data sources (e.g., MDC catalog APIs, institutional cost calculators, licensure board feeds) or storing pathway definitions in a database for authoring workflows.

Design Notes

  • The hero section, filters, and card grid echo the clear categorical layout of Palm Beach State College's STEM pathway site while adding MDC-specific metrics and interactive filtering.
  • The detail side panel emphasizes stackable credentials, articulation agreements, and exam/licensure prep to support students planning from high school through graduate study.

Next Steps

  • Add additional MDC pathways (e.g., Nursing, Cybersecurity, Education) and articulate multiple transfer options per discipline.
  • Surface personalized metrics (estimated timeline, stackable certificates, income outlook) based on student inputs.
  • Persist student selections and allow exporting a PDF advising plan.
  • Integrate authentication for advisors to build, save, and share pathway recommendations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors