Introduction
Welcome! The Dataverse Project is an open source project that loves contributors!
Intended Audience
This guide is primarily for developers who want to work on Dataverse itself. (See Related Projects for other projects to hack on!)
https://github.com/IQSS/dataverse contains the backend logic, APIs, and the classic Java Server Faces (JSF) web interface.
https://github.com/IQSS/dataverse-frontend contains the modern, React-based, Single Page Application (SPA) web interface.
To get started, you’ll want to set up your Development Environment and make sure you understand the branching strategy described in the Version Control section and how to make a pull request. Testing is expected. Opinions about Coding Style are welcome!
Getting Help
If you have any questions at all, please reach out to other developers via https://chat.dataverse.org, the dataverse-dev mailing list, the dataverse-community mailing list, or community calls.
Core Technologies
Dataverse is a Jakarta EE application that is compiled into a WAR file and deployed to an application server (app server) which is configured to work with a relational database (PostgreSQL) and a search engine (Solr).
We make use of a variety of Jakarta EE technologies such as JPA, JAX-RS, JMS, and JSF. In addition, we use parts of Eclipse MicroProfile such as MicroProfile Config.
The JSF frontend is built using PrimeFaces and Bootstrap. The SPA is built using React.
Roadmap
For the roadmap, please see https://www.iq.harvard.edu/roadmap-dataverse-project
Kanban Board
You can get a sense of what’s currently in flight (in dev, in QA, etc.) by looking at https://github.com/orgs/IQSS/projects/34
Issue Tracker
The main issue tracker is https://github.com/IQSS/dataverse/issues but note that individual projects have their own issue trackers.