This repository has been archived by the owner on Apr 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Start docs directory for developer-oriented documentation
- Loading branch information
Showing
1 changed file
with
51 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Tour of the PREreview Codebase | ||
|
||
## Key concepts | ||
|
||
<dl> | ||
<dt>Preprint</dt> | ||
<dd>An academic paper prior to formal review and publishing.</dd> | ||
<dt>Review</dt> | ||
<dd>PREreview's mission is to lower the barrier to entry for academic review of preprints. | ||
Reviews can be requested and submitted via the website.</dd> | ||
</dl> | ||
|
||
## Key libraries | ||
|
||
* [React](https://reactjs.org/) The UI framework for the PREreview website. | ||
* [Express.js](https://expressjs.com/) The web framework for the PREreview API; also supplies data to the website. | ||
|
||
## Key services | ||
* [Redis](https://redis.io/) Holds cached results for some operations. | ||
* [CouchDB](https://couchdb.apache.org/) Primary "source of truth" for PREreview users, reviews, and other application state. | ||
|
||
## External services | ||
PREreview uses well-known preprint servers to find metadata and content for preprints, including: | ||
|
||
- arXiv | ||
- bioArxiv | ||
- Crossref | ||
- OpenAire | ||
- Google Scholar | ||
- DOI.org | ||
|
||
Additionally, PREreview relies on [ORCid](https://orcid.org/) for user authentication. | ||
|
||
# API | ||
Documentation about the API is published as part of the application; https://outbreaksci.prereview.org/api/ . | ||
This can be edited in `../src/components/api.js`. | ||
|
||
# Database Structure | ||
|
||
We divide PREreview data among CouchDB collections. | ||
The design docs for these are stored in `../src/ddocs/`; see [CouchDB documentation](https://docs.couchdb.org/en/stable/ddocs/index.html) for more info on design docs. | ||
Database queries are consolidated in `../src/db/db.js`. | ||
|
||
## `rapid-prereview-docs` | ||
Stores information about preprints retrieved from authoritative services. | ||
|
||
## `rapid-prereview-users` | ||
Stores information about users who have provided profile information for the site. | ||
|
||
## `rapid-prereview-index` | ||
Stores a partial copy of information from other collections for full-text indexing. |