GithubHelp home page GithubHelp logo

criptext / criptext-email-react-client Goto Github PK

View Code? Open in Web Editor NEW
74.0 13.0 21.0 19.92 MB

Front-end development of criptext email client using react

License: GNU General Public License v2.0

HTML 0.19% JavaScript 90.97% Shell 0.31% C++ 1.24% CMake 0.04% Python 0.08% C 1.43% SCSS 5.73%

criptext-email-react-client's Introduction

Criptext Email React Client

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.

Features

  • 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.
  • 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.
  • 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.

Contributing Bug reports

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! https://github.com/Criptext/Criptext-Email-React-Client/issues

Contributing Translations

We use Lokalise for translations. If you are interested in helping please write us at [email protected]

Dependencies

To build Criptext on your machine you'll need:

  • Node.js (Recommended 10.17.0+)
  • Yarn (Recommended 1.19.1+)

Run locally

Clone this repository and run a few scripts:

git clone https://github.com/Criptext/Criptext-Email-React-Client
cd Criptext-Email-React-Client
node install.js # Install dependenciess

To up all projects, got to each project and run:

yarn start # Run locally

First up the projects like email_* and last electrop_app

On all directories, like email_* it is recommended to have a .env file with the following content:

PORT=####
SKIP_PREFLIGHT_CHECK=true
REACT_APP_APPDOMAIN=criptext.com
REACT_APP_AVATAR_URL=https://api.criptext.com/user/avatar/

The project electrop_app the .env file should have this:

NODE_ENV=development
MAILBOX_URL=http://localhost:####
PIN_URL=http://localhost:####
LOGIN_URL=http://localhost:####
LOADING_URL=http://localhost:####
COMPOSER_URL=http://localhost:####
DEV_SOCKET_URL=wss://socket.criptext.com
DEV_SERVER_URL=https://api.criptext.com
DEV_DATA_TRANSFER_URL=https://transfer.criptext.com
CSC_IDENTITY_AUTO_DISCOVERY=true
DEV_APP_DOMAIN=criptext.com

Finally, you must build Alice. Alice is the signal protocol encryption service for desktop apps. You must build and run it to use the criptext electron client. For Linux or Mac Os systems follow the following steps to compile it. If you use Windows please refer to https://github.com/Criptext/Alice-Windows instead.

Steps to compile and run alice on Linux or MacOs:

  • enter db_interface
  • run bash ${your_os}_setup.sh
  • after completed, go to signal_interface folder
  • run bash installation/${your_os}/${your_os}_install_deps.sh
  • generate a binding gyp file. The easiest way is to just copy the ${your-os}/${your_os}_binding.gyp file to the root signal_interface folder and rename it as binding.gyp there.
  • Ensure that all the dependencies in the binding.gyp file exist in those paths. In case of something is wrong, feel free to modify the file.
  • install node-gyp (npm install -g node-gyp or yarn global add node-gyp) with root permissions.
  • run node-gyp configure build.

That would install and run Alice in your system.

Contributing Code

Contributions are welcome. This project contains subdirectories according to each module of the app:

  • electron_app: contains the files needed to run electron and load the app views
  • email_mailbox: contains the main view of the app which is made-up of the mailbox itself, settings, contacts, etc.
  • email_composer: contains the view and code that handles the window that edits new emails.
  • email_login: contains the views and code that handles user sign in and sign up.
  • email_loading: contains the views and code that handles spinners and progress bars between window transitions.
  • email_pin: contains the views and code that set encryption PIN.

The main application logic is the electron_app dir. Before submitting any patches to the main application run the linter and tests:

yarn lint        # Run the linter
yarn test        # Run unit tests
yarn integration # Run integrations

The other directories are React Apps built with create-react-app used as the UI of the main application. Please note that they won't work on the browser because they require electron APIs. Once again, before submitting any patches run the linter and tests:

yarn lint 
yarn test 

Support

For troubleshooting and questions, please write us at [email protected]

License

Copyright 2018 Criptext Inc.

Licensed under the GPLv2: http://www.gnu.org/licenses/gpl-2.0.html

criptext-email-react-client's People

Contributors

danieltigse avatar dependabot[bot] avatar erikaperugachi avatar gaumala avatar giannicarlo avatar glitsj16 avatar hirobreak avatar javiteri95 avatar julianadams4 avatar not-gabriel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

criptext-email-react-client's Issues

Welcome tour

  • Design to zepplin

  • Code welcome

Add badge to new emails

Sent event: open email

When new email is open by first time, it should send event: open email.
Update http-criptext-client: 0.8.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.