Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a documentation page describing the different parts of the Openverse stack #3786

Merged
merged 16 commits into from
Feb 28, 2024
1 change: 1 addition & 0 deletions documentation/general/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ zero_downtime_database_management
deployment
logging
https
stack

```
39 changes: 39 additions & 0 deletions documentation/general/stack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Stack

This page is your gateway to understanding our diverse technology stack. Explore code repositories on GitHub, access detailed documentation, and learn about the tools, frameworks, and languages driving each stack of the Openverse platform.

1. Catalog
- The Apache Airflow-powered system for downloading and storing Openverse's metadata
- [Code](https://github.com/WordPress/openverse/blob/main/catalog)
- [Documentation](https://docs.openverse.org/catalog/index.html)
- Language: Python
- Tools and Framework:
- [Apache Airflow](https://airflow.apache.org/docs/apache-airflow-providers-google/stable/operators/cloud/datacatalog.html)
zealshah29 marked this conversation as resolved.
Show resolved Hide resolved
2. Ingestion Server
- The mechanism for refreshing the data from the catalog to the API
zealshah29 marked this conversation as resolved.
Show resolved Hide resolved
- [Code](https://github.com/WordPress/openverse/blob/main/ingestion_server)
- [Documentation](https://docs.openverse.org/ingestion_server/index.html)
- Language: Python
- Tools and Framework:
- [Elasticsearch](https://www.elastic.co/guide/index.html)
stacimc marked this conversation as resolved.
Show resolved Hide resolved
3. API
- The Django REST API for querying the database, used by the frontend
- [Code](https://github.com/WordPress/openverse/blob/main/api)
- [Documentation](https://docs.openverse.org/api/index.html)
- Language: Python
- Tools and Framework:
- [Django](https://docs.djangoproject.com/en/5.0/)
- [Django REST Framework](https://www.django-rest-framework.org/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also include Django above this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall I add it to line number 25?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that would be great, thanks!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dhruvkb do you have an opinion about the docs links being pinned to a version? (5.0 in this case?) Not sure there's anything we can do about that 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I need to make any changes related to the link over here?

4. Frontend
- The public search engine at [openverse.org](https://openverse.org/), built with Vue and Nuxt
- [Code](https://github.com/WordPress/openverse/blob/main/frontend)
- [Documentation](https://docs.openverse.org/frontend/index.html)
- Language: TypeScript / Node.js
- Tools and Framework:
- [Nuxt.js](https://nuxt.com/docs/getting-started/introduction)
- [Vue.js](https://vuejs.org/guide/introduction.html)
5. External Services
- Cache: [Redis](https://redis.io/docs/about/)
- Upstream and API database: [PostgreSQL](https://www.postgresql.org/docs/)
- Analytics: third-party, [Plausible](https://plausible.io/docs)
- Search: [Elasticsearch](https://www.elastic.co/guide/index.html)
Loading