I’ve decided to start a home project to test a few different technologies. The aim is to pick a a relatively simple project and implement this in a few different ways.
The simple project is a website where someone can post a status.
The rough outline is a website where:
- Authenticated Users can:
- post a status
- Anonymous & Authenticated users can:
- View current Status
- View past statuses and search through them
- ‘Like’ a Status
I guess you could call this twitter without most of the useful features.
I’m aiming to try a number of different technologies, in decreasing level of comfort.
I’ll also be swapping pieces in and out with new implementations in different technologies.
The current plan
- Document the UI – I’ve found this tends to make the implementation clearer
- Implement in bootstrap, MVC4 with SQL Server backend
- Swap the SQL Server backend for a No SQL database
- Design JSON API to access app
- Implement JSON api using WebApi backend
- Replace MVC app with javascript client side framework (currently planning to try angular)
- Replace the WebApi backend with an F# implementation
- Replace the WebApi backend with node.js
I want to apply best practices throughout, which might mean learning new best practices as I start using new technologies.
I’ll post all parts of the implementation and any documentation on Github.