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