Project Board | Community Site | #openverse @ Slack | Handbook | Releases mockups | Design Library
Openverse is a search engine for openly-licensed media.
Openverse is a powerful search engine for GPL-compatible images, audio, and more. Openverse is live at wp.org/openverse.
This repository does not contain most of the codebase. The code is divided into individual repositories, and managed via a GitHub Project Board:
- Frontend | The public search engine at wp.org/openverse, built with Vue.js and Nuxt.js
- Catalog | The Apache Airflow-powered system for downloading and storing Openverse's metadata
- API | The Django REST API for querying the catalog data, used by the frontend
- Browser extension | An extension to view Openverse images directly in your web browser
It is possible we will explore a monorepo structure in the future, but since all the repos are decoupled from each other and use different technologies, we've felt it best to keep them distinct.
Pull requests are welcome! Feel free to join us on Slack and discuss the project with the engineers and community members in the #openverse channel.
You can also keep in touch with progress and the latest updates to the project with our WordPress contributor group.
- This repo contains automation scripts used for various workflows around Openverse repositories and processes.
- It acts as the top-level meta repository for Openverse project where cross-repo discussions, issues and milestones are defined.
- It is the source of truth for repository meta-files such as common workflows, and issue and PR templates.
- It also contains brand assets like logo and icon, along with color and usage guidelines for the same.
automations/
: This directory contains scripts related to project management or one-off tasks.python/
: This directory contains scripts written in Python.- Use this as the working directory when executing Python scripts.
- Requires Pipenv as the package manager.
js/
: This directory contains scripts written in JavaScript.- Use this as the working directory when executing JavaScript scripts.
- Requires npm as the package manager.
brand/
: This directory contains brand assets for the project.rfcs/
: This directory contains proposals for changes to Openverse.