Skip to content

Commit f271493

Browse files
author
Erika Perugachi
authored
Merge pull request #466 from not-gabriel/gabriel
Decouple email_login validators from electron
2 parents 9ca1439 + 42570b0 commit f271493

39 files changed

+4666
-3838
lines changed

README.md

Lines changed: 72 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,77 @@
11
# Criptext Email React Client
22

3-
This project manages the email client for desktop developed using Electron and React.
3+
Finally, an email service that's built around your privacy. Get your @criptext.com email address and see what it's like to have peace of mind and privacy in every email you send.
44

5-
The project contains subdirectories according to each module of the app:
5+
## Features
6+
7+
- End-to-end Encryption: Criptext uses the open source Signal Protocol library to encrypt your emails. Your emails are locked with a unique key that‘s generated and stored on your device alone, which means only you and your intended recipient can read the emails you send.
8+
- No data collection: unlike every other email service out there, Criptext doesn't store your emails in its servers. Instead, your entire inbox is stored exclusively on your device.
9+
- Easy to use: our app is designed to work as simple as any other email app — so much so, you'll forget how secure it is.
10+
11+
## Contributing Bug reports
12+
13+
We use GitHub for bug tracking. Please search the existing issues for your bug and create a new one if the issue is not yet tracked!
14+
15+
## Dependencies
16+
17+
To build Criptext on your machine you'll need:
18+
19+
* Node.js (Recommended 8.12+)
20+
* Yarn
21+
22+
## Run locally
23+
24+
Clone this repository and run a few scripts:
25+
26+
``` bash
27+
git clone https://github.com/Criptext/Criptext-Email-React-Client
28+
cd Criptext-Email-React-Client
29+
node install.js # install dependencies
30+
node start.js # Run locally
31+
```
32+
33+
On some directories, like `email_login` it is recommended to have a .env file
34+
with the following content:
35+
36+
```
37+
SKIP_PREFLIGHT_CHECK=true
38+
```
39+
## Contributing Code
40+
41+
Contributions are welcome. This project contains subdirectories according to each module of the app:
642
* electron_app: contains the files needed to run electron and load the app views
743
* email_mailbox: contains the main view of the app which is made-up of the mailbox itself, settings, contacts, etc.
8-
* email_composer: contains the view and code that handles the edition of a new email
9-
* email_login: contains the view and code that handles user login
10-
* email_loader: contains the view and code that handles loading views between modules
44+
* email_composer: contains the view and code that handles the window that edits new emails.
45+
* email_login: contains the views and code that handles user sign in and sign up.
46+
* email_loader: contains the views and code that handles spinners and progress bars between window transitions.
47+
48+
49+
The main application logic is the `electron_app` dir.
50+
Before submitting any patches to the main application run the linter and tests:
51+
52+
``` bash
53+
yarn lint # Run the linter
54+
yarn test # Run unit tests
55+
yarn integration # Run integrations
56+
```
57+
58+
The other directories are React Apps built with [create-react-app](
59+
https://github.com/facebook/create-react-app) used as the UI of the main
60+
application. Please note that they won't work on the browser because they
61+
require electron APIs. Once again, Before submitting any patches run the linter
62+
and tests:
63+
64+
``` bash
65+
yarn lint
66+
yarn test
67+
```
68+
69+
## Support
70+
71+
For troubleshooting and questions, please write us at <a href="mailto:[email protected]">[email protected]</a>
72+
73+
## License
74+
75+
Copyright 2018 Criptext Inc.
76+
77+
Licensed under the GPLv2: http://www.gnu.org/licenses/gpl-2.0.html

electron_app/src/validationConsts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const requiredMinLength = {
55
};
66

77
const requiredMaxLength = {
8-
username: 255,
8+
username: 16,
99
fullname: 255,
1010
password: 255
1111
};

email_composer/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"react-trumbowyg": "^1.1.0"
2323
},
2424
"scripts": {
25+
"postinstall": "node-sass-chokidar src -o src",
2526
"build-css": "node-sass-chokidar src -o src",
2627
"watch-css": "npm run build-css && node-sass-chokidar src -o src --watch --recursive",
2728
"start-js": "react-scripts start",

email_dialog/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"react-scripts": "1.1.0"
1111
},
1212
"scripts": {
13+
"postinstall": "node-sass-chokidar src -o src",
1314
"build-css": "node-sass-chokidar src -o src",
1415
"watch-css": "npm run build-css && node-sass-chokidar src -o src --watch --recursive",
1516
"start-js": "react-scripts start",

email_loading/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"react-scripts": "1.1.0"
1111
},
1212
"scripts": {
13+
"postinstall": "node-sass-chokidar src -o src",
1314
"build-css": "node-sass-chokidar src -o src",
1415
"watch-css": "npm run build-css && node-sass-chokidar src -o src --watch --recursive",
1516
"start-js": "react-scripts start",

email_login/package.json

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,29 @@
44
"private": true,
55
"dependencies": {
66
"crypto-js": "^3.1.9-1",
7-
"node-sass-chokidar": "^0.0.3",
8-
"npm-run-all": "^4.1.2",
7+
"isemail": "^3.1.3",
98
"react": "^16.2.0",
10-
"react-dom": "^16.2.0",
11-
"react-scripts": "1.1.0",
12-
"validator": "^9.4.0"
9+
"react-dom": "^16.2.0"
1310
},
1411
"scripts": {
15-
"build-css": "node-sass-chokidar src -o src",
16-
"watch-css": "npm run build-css && node-sass-chokidar src -o src --watch --recursive",
1712
"start-js": "react-scripts start",
18-
"start": "PORT=3005 npm-run-all -p watch-css start-js",
19-
"build-js": "react-scripts build",
20-
"build": "npm-run-all build-css build-js",
13+
"start": "PORT=3005 react-scripts start",
14+
"build": "react-scripts build",
2115
"test": "react-scripts test --env=jsdom",
2216
"eject": "react-scripts eject",
2317
"lint": "criptext-js-tools lint"
2418
},
2519
"proxy": "http://localhost:8000",
2620
"devDependencies": {
27-
"criptext-js-tools": "^0.5.0"
21+
"criptext-js-tools": "0.7.2",
22+
"node-sass": "^4.9.3",
23+
"react-scripts": "2.0.3"
2824
},
29-
"homepage": "./"
25+
"homepage": "./",
26+
"browserslist": [
27+
">0.2%",
28+
"not dead",
29+
"not ie <= 11",
30+
"not op_mini all"
31+
]
3032
}

email_login/src/App.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { Component } from 'react';
22
import TitleBar from './components/titleBar';
33
import LoginWrapper from './components/LoginWrapper';
4-
import './app.css';
4+
import './app.scss';
55

66
class App extends Component {
77
render() {

0 commit comments

Comments
 (0)