Platform to share interactive notes, problem solutions from Jutge.org, and academic resources for Programming 2 (PRO2) and Mathematics (M1/M2) at UPC-FIB.
- Core: React 19, TypeScript, Vite, PWA
- Styles & UI: Tailwind CSS v4, Framer Motion, Lucide React, React Three Fiber (Three JS)
- Routes & states: React Router v7, Context API nativa
- Backend & data: Firebase (Auth, Firestore)
- Content management (Markdown):
@content-collections(with Zod), React Markdown, Unifiedjs (Remark/Rehype), KaTeX, PrismJS / CodeMirror - External services: Vercel Serverless Functions (Proxy for Jutge.org for scraping)
components/: Encapsulated UI, featuring simulators integrable in MD (OOPPlayer,AlgoPlayer,GraphVisualizer).content/: Static database in Markdown format (/notes/pro2/,/notes/m1/). Closely compiled by Content Collections.contexts/: Global states (Auth, Subject).lib/: Connections to services and pure logic (firebase.ts, simulations).markdown/: Advanced rendering tool (Custom directives in Markdown).pages/: Views assigned to the Router.
-
Clone the repository
git clone https://github.com/CreatorSaWiX/apunts-pro2.git cd apunts-pro2 -
Install dependencies
npm install
-
Configuration (Optional) Create a
.env.localfile with your Firebase configuration and optional Jutge credentials. -
Run in local
npm run dev
We are an open community! If you want to add notes or improve the platform:
- Check that the application compiles correctly (
npm run build). - Follow strict TypeScript standards (avoid
any). - Open a Pull Request with a clear description of the change.
License: MIT | Maintained by @CreatorSaWiX