Skip to content

commit111/youcode-2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

youCode 2026: RootSAP

Authors: Saurav, Linda, Apoorva, Bart

RootSAP Website

Inspiration

BC’s nonprofit sector is running on heart but short on hands. Thousands of organizations need skilled volunteers, yet the systems connecting willing people to the right opportunities are fragmented and underpowered. Our solution, RootSAP, bridges that gap by enabling nonprofits to co-create and co-host volunteer training workshops. Through a shared platform that matches organizations by location, cause, and skill needs, nonprofits can design collaborative learning experiences that train volunteers once and benefit many. Volunteers get exposure to multiple causes, a richer sense of community, and credentials that support long-term engagement. Instead of competing for capacity, nonprofits build it together; creating sustainable, cross-sector human infrastructure for BC’s social good network.

What it does

RootSAP is a platform where non-profit organizations can simply enter their information, choose their availability, and then get matched with a similar non-profit organization and have a custom-made event itinerary created for them to co-host training sessions for volunteers. Volunteers will be able to attend and gain real-life skillsets for future opportunities, and a chance to meet up and connect with organizers.

How we built it

Frontend: React, Vite, Tailwind CSS, Framer Motion, JavaScript

Backend: Python, Node.js, Express, SQLite, OpenAI API, TypeScript

Challenges we ran into

We initially had some issues deciding on the form of the data being stored, as well as integrating frontend with the backend in order to process and display data. But we were able to successfully ping the appropriate endpoints to make this work.

Accomplishments that we're proud of

We are proud of building a working backend script that correctly handles data as intended as well as designing the UI and fixing bugs during the process.

What we learned

We learned out to use Framer Motion for UI design, how to use Python with Node.js as a backend setup, as well as how to integrate frontend with backend code.

What's next for RootSAP

In the future, we look forward to expanding our app to include multi-language support as well as voice-over support in order to increase accessibility.

How To Run

Prerequisites

  • Node.js and npm
  • Python 3
  • An OPENAI_API_KEY for AI-generated workshop content

Install dependencies

Frontend:

cd frontend
npm install

Backend:

cd backend
npm install
python3 -m pip install openai python-dotenv

Configure the backend

Create a backend/.env file with:

OPENAI_API_KEY=your_openai_api_key
PORT=4000

Start the backend

cd backend
npm run dev

The backend runs on http://localhost:4000.

Start the frontend

cd frontend
npm run dev

The frontend runs on http://localhost:8080 and proxies API requests to the backend.

Open the app

Visit http://localhost:8080 in your browser.

Optional SQLite Addon (Backend)

The backend still uses the existing JSON files as the primary store.

An optional SQLite addon can mirror workshop registrations and RSVPs in parallel, so it does not change the current API behavior.

Enable it

Set these environment variables for the backend process:

  • SQLITE_ENABLED=true
  • SQLITE_DB_PATH=../db/workshops-addon.sqlite (optional override)

If SQLITE_ENABLED is not set, the addon is disabled by default.

What it stores

  • workshop_prompt_runs: canonical input_json and output_json matching Python input.json and output.json
  • rsvps: mirrored from /api/workshops/:id/rsvp

workshop_prompt_runs also keeps helper columns (organization/contact/topic/title) for easier filtering, but the JSON documents remain the source of truth.

If SQLite write/mirror fails, requests still succeed using the JSON flow.

About

RootSAP is a platform for non-profit organizations to co-host events and training sessions for volunteers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors