UC Open Source Repository Browser

The University of California Open Source Repository Browser (UC ORB) is a discovery tool designed to map and classify open source projects across the UC system. This project is a collaboration with the UC Network of Open Source Program Offices (OSPOs), which brings together six UC campuses (Santa Cruz, Berkeley, Davis, Los Angeles, Santa Barbara, and San Diego) to support open source research, promote sustainability, and establish best practices within academic environments.
By providing a centralized platform, UC ORB enhances the visibility of UC’s open source contributions, fosters collaboration among researchers and developers, and serves as a model for other institutions aiming to improve open source discovery and sustainability.
This project focuses on building the web application for UC ORB, which will serve as the primary interface for users to explore and interact with UC’s open source projects. The student will work on developing a clean, user-friendly, and scalable web application.
Develop the UC ORB Application
- Topics:
Web development
- Skills: Experience in Python and at least one Python-based web framework (e.g., Flask, Django, FastAPI), experience with front-end technologies (React, HTML, CSS, JavaScript), familiarity with Git and collaborative development workflows, familiarity with database interaction (SQL).
- Difficulty: Moderate
- Size: Large (350 hours)
- Mentors: Juanita Gomez
Develop a web application that serves as the front-end interface for the UC ORB. The application will allow users to browse, search, and explore open source projects across the UC system. The project will involve integrating with the repository database to fetch and display repository data, designing an intuitive user interface, and ensuring the application is scalable and maintainable.
Specific Tasks:
- Choose an appropriate Python-based web framework (e.g., Flask, Django, or FastAPI) for the backend and set up the basic structure of the application.
- Develop a responsive and user-friendly front-end interface ensuring that it is accessible and works well on both desktop and mobile devices.
- Add search functionality to allow users to find projects by keywords, tags, or other metadata.
- Implement filtering options to narrow down search results (e.g., by campus, topic, or programming language).
- Deploy the application to a cloud platform (e.g., AWS, or Google Cloud) or GitHub Pages (GitHub.io) for public access.
- Create developer documentation that explains the application’s architecture, setup instructions, and contribution guidelines.
- Write a short user manual to help end-users browse and use the web application effectively.