Monday, January 13, 2014

5 Applications in 5 Months - Introduction

For a long time there have been many technologies out there that I wanted to try out many different "new" technologies and just haven't had the time to dedicate to it.  Well that isn't true, it isn't that I didn't have the time as much as I didn't make the time.  Well that is about to change.  I recently saw a this post 30 Technologies in 30 days a developers challenge and decided that if this person can do 30 new technologies in a month, that I should be able to build a simple application in a month, and then, lather rinse and repeat.  So I started thinking what are some things I want to learn, what kind of application can I build.  So here is what I came up with.  I want to build a Modern Web Application.  This would have a rich web client, use noSql for the database, openId and OAuth for login, and a Rest based api.  That starts to frame up the application, but beyond some of these overarching things, what should I narrow them down to.

Backend Technologies:

Frameworks
Spring/Grails - Baseline application
NodeJS
Play
Vert.X
WebMachine (or Clojure based Framework)

Authentication
OpenId (google, facebook, github)
Oauth 2.0

DB
MongoDB
Postgres or MySql

Front End Frameworks:

Polymer/JQuery/BaconJS
EmberJS
AngularJS
BackBone/Marionette


The application that I will be building is a basic project management application.  The basics will be:
User Logs in using Google, FaceBook, Github
CRUD Operations on Projects for User
CRUD Operations on Stories for Project
CRUD Operations on Tasks for Stories

In a future post I will put together the UI wireframes for the application.

I will be creating a list of tests against the Rest endpoints to verify functionality for all backends.  For the front ends I will be trying to create both unit tests and front end tests also.

The first steps I will be putting together will be to create a set of tests for the API, create a relational and noSql data model for the application.  After that I can start my first backend.

No comments:

Post a Comment