Abraham Lincoln's letter to his son's teacher could have been lost if written nowadays. We need to preserve information for our future generations. From presidents to lovers, everyone should be remembered.
What it does
The website allow users to connect with their email accounts and share emails through social networks. Its goal is to keep the sharing process as simple as possible. To be able to meet the deadline the project was scoped to reduce development time. Email Got Social is in beta version until all the "desirable" features are implemented. Find below two set of features. The first set corresponds to the features included in the beta version. The second lists the features in the road map.
List of features in beta version:
- Sign Up new accounts
- Connect account to email sources (scoped to single source for now)
- Login and Logout
- Contact Us page
- Email listing
- Email content view
- Share with facebook, twitter, Google+, Linkedin
- Landing page for shared emails
- Simple search capability over email subjects.
List of features for the first release (not included in beta version)
- Search capabilities that include email properties like to, cc, email content body, dates, etc.
- Public search capabilities over emails shared. Including categorization system to be able to filter down per categories, email address, etc.
- "Share to the future" feature. Share email but make it public in a specific amount of time.
- "Report abuse" feature to be able to identify scams and abuse emails
- Implement the "right to forget" process.
- Advance editing of shared emails. Do not allow to change text but allow to grey out section of it and hide email addresses.
- Complete social features like rate, follow, comment, etc.
- Complete sign up process including an integration with SSO providers.
How I built it
We set up an agile environment. Small iterations focusing in simple goals. The architecture is based on REST using Spring MVC as a glue between the UI, core and ContextIO API. We used angularJS in the UI and getting the data from our REST layer. Our REST layer encapsulates the manipulation of the data and the communication with ContextIO API.
Challenges I ran into
The most significant challenge was the lack of java API to connect with ContextIO REST API. There are a couple of none official projects in github. However, none of them were completed or updated to the latest version of ContextIO API(2.0). We decided to fork the un-official project and develop features with "as you go" philosophy. We certainly regret the lack of time on our side to add more tests and features to our Context API fork. Nevertheless, agile methodology put us in mode of "actions that impacts the products" and allowed us to meet the deadline.
Accomplishments that I'm proud of
The list of features that we had for the beta versions were developed. The system is designed to allow the addition of all other "desired" features.
What I've learned
We learned ContextIO API, mongoDB, spring-data and angularJS.
What's next for Email got Social
- The next for us is to get Email got Social out of beta.
- Publish REST API. We believe that "Email got Social" will not be successful until we publish a REST API to be used by email service providers. The share emails action could be started from the client's personal inbox providing a great level of confidence to email's owner.