Skip to content
EdmundCruz edited this page Apr 6, 2016 · 8 revisions

Encryptomail was born from a group project in the Spring 2016 Software Engineering Practices course at Metropolitan State University of Denver. The professor, Steven Beaty, offered multiple projects to complete during the semester- one of them being an encrypted group email relay. The development group includes: Ross Baldwin, Jon Cohen, Jon Cornwell, Tucker Cross, Eddy Cruz, Jacob Fisher, Luke Fisher, and Jeff Lazerus.

Overview

This wiki document describes the decisions made and tools used during the agile software development process.

Discord

This web-based chat application was selected for our inter-group communication. The free service works great for text chat. It easily accepts images and links as well. The mobile app is just as easy to use. Discord also offers voice chat, but has not been used by our group.

Trello

Trello was selected as our project management tool. The free service is very easy to use, and also has an accompanying mobile app. Trello helped our group keep track of who was working on what. The boards and cards documented tasks that needed to be completed for each sprint.

Github

Github is our go-to for a web-based code repository. Free for open-source projects, it is a central place to hold our source code. It worked great through the whole build process, and provides neat features like this wiki.

Rails Installer

This tool helped our group in getting everything setup for writing our Ruby On Rails project. Because many different operating systems were being used across our group, this tool helped everyone get coding.

Cloud9

This online code editor was used by many of our group members to write our Ruby On Rails project. This cloud-based tool is easy to start using. Special care had to be given to some commands that are specific to Cloud9. One example is starting a Rails app: rails s -b $IP -p $PORT, rather than rails server.

Mailvelope

This OpenPGP application was used by every group member when we began our project to create our personal public/private keys. It is a great tool for creating key pairs. It also offers extensions for Chrome and Firefox browsers.

Google Docs

Google Docs is a very useful free cloud-based tool that we used for our documents and presentations. Because of its cloud functionality it was easy to collaborate when we were working on our requirement documents or in-class presentations.

Devise

This Ruby gem was selected for our application's authentication. Encrytomail uses it to create, delete, and verify users with email verification.

Cancan

This Ruby gem was researched to handle our authorization. After researching it, we found it to be too complex for our implementation.

Factory Girl

This testing framework was researched to work with our Ruby On Rails project. After learning more about it, Factory Girl was not a good fit for our testing needs and was abandoned.

MongoDB

We decided to escape the traditional database model and go with a NoSQL database. This document-oriented database was a great fit for our project and its focus on object-orientation.

Postfix

This open-source mail transfer agent was selected to handle our email application traffic.

GPGME

GnuPG Made Easy is a supporting cryptography library for our email application.

Materialize

This design language, created by Google, was selected to assist in sprucing up Encryptomail's web pages- giving the pages a consistent look and feel between browser and mobile portals.

Clone this wiki locally