Inspiration
New technologies appear every day, but they are often inaccessible to people who don’t aren’t connected to someone knowledgeable or are not in a university covering the course. Self-taught options are unstandardized and difficult to improve. We decided that open-source education was the future of online courses, and created an online platform where people could publish courses hosted on Github repositories.
What it does
- The Cactus CourseWare Team developed a full-stack web application that allows creators, teachers, and developers to upload open-source educational materials to the public.
- These courses are then exposed using an accessible search for users to find courses they are interested in.
- Courses are rendered in the application with functionality for traditional content, embeddable animations, multiple choice / multiple select questions, and community-sourced explanations
- Curated resources are updated daily and can be retrieved from popular knowledge databases.
How we built it
- Frontend: Typescript, React, ReMark, TailwindCSS, MaterialUI
- Backend: Node.js, Express, Mongo.db, Mongoose ORM
- Data Population: BeautifulSoup to scrape data from Wikipedia and generate sample tutorials.
- Hosting on Heroku, Vercel.
- Domain registration with Google.
- Developed through lots of experimentation with the Github API.
Challenges we ran into
- Getting rate limited by GitHub
- Figuring out how to connect the backend to the frontend
- Sharing information between components
- Figuring out how to render markdown documents in react with custom syntax.
- Last evening at 5:00 PM, Heroku stopped GitHub deploy support, breaking out automated deploy workflow for our backend REST API. Multiple hours were spent circumventing this with a custom build and deploy.
Accomplishments that we're proud of
- It works! After iterating upon the material UI specification, we were able to design and implement custom web design using react and Figma.
- We’re pleased with the look of the product.
What we learned
- How to connect a MongoDB and node backend to a react frontend.
- The principles of artistic design
- Tailwind will destroy your styles
- How to interface with the github API
- How to render markdown dynamically in react.
What's next for Cactus CourseWare
- Future development would include making it easier to convert repos to the format our website expects.
- Adding more functionality, like progress tracking, community forums, etc.
- Encouraging course developers to upload produce content to post on our website



Log in or sign up for Devpost to join the conversation.