README.md 3.78 KB
Newer Older
Yannis Barlas's avatar
Yannis Barlas committed
1
# xpub-collabra
Yannis Barlas's avatar
Yannis Barlas committed
2
3
Xpub-collabra is a manuscript submission system for the [Collabra Psychology](https://www.collabra.org/) journal.  
It is currently under development by the [Coko Foundation](https://coko.foundation/) and is being built with the tools provided by the [Pubsweet](https://gitlab.coko.foundation/pubsweet/pubsweet) and [INK](https://gitlab.coko.foundation/INK) projects.  
Alf Eaton's avatar
Alf Eaton committed
4

Yannis Barlas's avatar
Yannis Barlas committed
5
6
## Roadmap

Yannis Barlas's avatar
Yannis Barlas committed
7
8
9
This is the current set of features and their status on our roadmap.

|Module             |Description                                    |In progress    |Done       |Issue
Giannis Kopanas's avatar
Giannis Kopanas committed
10
|:---               |---                                            |:---:          |:---:      |:---:
Adam Hyde's avatar
Adam Hyde committed
11
|**Current**|
Giannis Kopanas's avatar
Giannis Kopanas committed
12
13
|Component      |New Simple Form Builder  |✔      |   |#234
|System      | Fixing issue on assigning reviewer  |✔      |   |#235
Giannis Kopanas's avatar
Giannis Kopanas committed
14
|**Previous**|
Giannis Kopanas's avatar
Giannis Kopanas committed
15
|System      |New Data modeling migration  |      |✔    |#233
Giannis Kopanas's avatar
Giannis Kopanas committed
16
|System      |Mock graphql Server |       |✔   |#231
Giannis Kopanas's avatar
Giannis Kopanas committed
17
|System      |GraphQL implementation of xpub FrontEnd Components  |        |✔  |#232
Giannis Kopanas's avatar
Giannis Kopanas committed
18

Yannis Barlas's avatar
Yannis Barlas committed
19

Alf Eaton's avatar
Alf Eaton committed
20
### PubSweet components
Yannis Barlas's avatar
Yannis Barlas committed
21
22
23
24
25
26
27
28
29
The application consists primarily of the following high-level pubsweet components, which roughly correspond to the pages in the system:

* `xpub-app`: a PubSweet component that provides an app container with nav bar and journal provider.
* `xpub-dashboard`: a PubSweet component that provides a Dashboard page.
* `xpub-submit`: a PubSweet component that provides a Submit page.
* `xpub-manuscript`: a PubSweet component that provides a Manuscript page.
* `xpub-review`: a PubSweet component that provides a Review page.

The code for these components (as well as the smaller UI elements that they are made of) can be found in the [pubsweet repo](https://gitlab.coko.foundation/pubsweet/pubsweet/tree/master/packages).
Alf Eaton's avatar
Alf Eaton committed
30
31


Yannis Barlas's avatar
Yannis Barlas committed
32
## Installation
Alf Eaton's avatar
Alf Eaton committed
33

Yannis Barlas's avatar
Yannis Barlas committed
34
### Quickstart
Alf Eaton's avatar
Alf Eaton committed
35

Yannis Barlas's avatar
Yannis Barlas committed
36
To quickly get up and running, run
Alf Eaton's avatar
Alf Eaton committed
37

Yannis Barlas's avatar
Yannis Barlas committed
38
39
40
41
42
```
yarn start
```

This will run the various docker containers that the app needs. If you're doing development, you'll probably want to follow the next set of instructions.
Alf Eaton's avatar
Alf Eaton committed
43

Yannis Barlas's avatar
Yannis Barlas committed
44
45
**Note**:  
`yarn` will be run automatically inside the container to install dependencies. If dependencies were already installed on the host, this may cause problems as the binaries are compiled for the wrong platform. If you encounter errors about "invalid ELF header", run `yarn clean && yarn start`.
46

Yannis Barlas's avatar
Yannis Barlas committed
47
### Running the app manually
48

Yannis Barlas's avatar
Yannis Barlas committed
49
50
51
52
Start with installing the dependencies:
```
yarn
```
53

Yannis Barlas's avatar
Yannis Barlas committed
54
Create the file `local-development.json` inside the `config` folder.
Alf Eaton's avatar
Alf Eaton committed
55
56
57

```json
{
Yannis Barlas's avatar
Yannis Barlas committed
58
59
60
61
62
63
64
65
66
67
68
    "pubsweet-server": {
        "secret": "<your-secret-here>"
    },
    "pubsweet-component-ink-backend": {
        "inkEndpoint": "< your-ink-api-endpoint >",
        "email": "< your-ink-email >",
        "password": "< your-ink-password >",
        "recipes": {
            "editoria-typescript": "< editoria-typescript-recipe-id >"
        }
    }
Alf Eaton's avatar
Alf Eaton committed
69
}
70
71
```

Yannis Barlas's avatar
Yannis Barlas committed
72
This will give your database a secret, as well as enable manuscript docx to HTML conversion via the INK service. (ask in our [chat channel](https://mattermost.coko.foundation/coko/channels/xpub) if you don't know how to set up an INK account)
Yannis Barlas's avatar
Yannis Barlas committed
73
74
75
76
77
78
79
80
81
82
83

Run the docker container for the database.

```
yarn start:services
```

Now (in a separate terminal) run the app.
```
yarn server
```
Alf Eaton's avatar
Alf Eaton committed
84

Yannis Barlas's avatar
Yannis Barlas committed
85
## Continuous Integration
Sam Galson's avatar
Sam Galson committed
86

Yannis Barlas's avatar
Yannis Barlas committed
87
88
CI requires a Kubernetes cluster, resources for which can be found in [`pubsweet/infra`](https://gitlab.coko.foundation/pubsweet/infra).  
In order to set up a Kubernetes cluster using AWS, you need to follow the instructions there.  
Sam Galson's avatar
Sam Galson committed
89

Yannis Barlas's avatar
Yannis Barlas committed
90
Templates for deploying to this cluster with [`pubsweet/deployer`](https://gitlab.coko.foundation/pubsweet/deployer) are located in [`xpub/deployment-config`](https://gitlab.coko.foundation/xpub/deployment-config).
Alf Eaton's avatar
Alf Eaton committed
91

92
93
94
## Community

Join [the Mattermost channel](https://mattermost.coko.foundation/coko/channels/xpub) for discussion of xpub.