aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 66829657d912b3d28763d70c35dfd79b359b93e1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Sophie

_Messaging app built from the ground up with security in mind_

This is currently a work in progress, you should probably check back later.

## Development

This project uses [yarn](https://yarnpkg.com/) to manage its dependencies.
The project structure is based on [Vite Electron Builder Boilerplace](https://github.com/cawa-93/vite-electron-builder) but it was changed to incorporate [react](https://reactjs.org/) and [mobx-state-tree](https://github.com/mobxjs/mobx-state-tree).

To start working, install all dependencies with

``` sh
yarn install
```

To start a development instance of Sophie, which will reload on source changes, run

``` sh
yarn watch
```

To run all the tests, run

```sh
yarn test
```

or to automatically rerun tests for changed source files, run

```sh
yarn watch:test
```

To build the application in release mode, run

``` sh
yarn compile
```

## License

> Copyright (C)  2021-2022 Kristóf Marussy <kristof@marussy.com>
>
> This program is free software: you can redistribute it and/or modify
> it under the terms of the GNU Affero General Public License as
> published by the Free Software Foundation, version 3.
>
> This program is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> GNU Affero General Public License for more details.
> You should have received a copy of the GNU Affero General Public License
> along with this program.  If not, see <[https://www.gnu.org/licenses/](https://www.gnu.org/licenses/)>.

## Contributing

Contributors are welcome to add their contact information to the license headers of any files they edit, the license blocks in `config/buildConstants.js` and `README.md`, as well as the `"contributors"` array in `package.json`. Any patches send should have a `Signed-off-by:` line to clarify the copyright status of contributions according to the [Developer Certificate of Origin, Version 1.1](https://developercertificate.org/):

> Developer Certificate of Origin
> Version 1.1
>
> Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
>
> Everyone is permitted to copy and distribute verbatim copies of this
> license document, but changing it is not allowed.
>
>
> Developer's Certificate of Origin 1.1
>
> By making a contribution to this project, I certify that:
>
> (a) The contribution was created in whole or in part by me and I
>     have the right to submit it under the open source license
>     indicated in the file; or
>
> (b) The contribution is based upon previous work that, to the best
>     of my knowledge, is covered under an appropriate open source
>     license and I have the right under that license to submit that
>     work with modifications, whether created in whole or in part
>     by me, under the same open source license (unless I am
>     permitted to submit under a different license), as indicated
>     in the file; or
>
> (c) The contribution was provided directly to me by some other
>     person who certified (a), (b) or (c) and I have not modified
>     it.
>
> (d) I understand and agree that this project and the contribution
>     are public and that a record of the contribution (including all
>     personal information I submit with it, including my sign-off) is
>     maintained indefinitely and may be redistributed consistent with
>     this project or the open source license(s) involved.