Social Network in 30 days : Day 2

Friday just past, so here’s an report.

Day 2 Report:
Finished 3/4 tasked that were scheduled yesterday. I only had around 4-5 hours of programming time after work but I think I got a lot done.
The site is now hosted on heroku.com at http://linksteach.me.

Feature List:
The goal of the site is now to create a reddit-like site for school. This idea seems more like a social bookmarking website, rather than a social network.
A social bookmarking site values the content of the links more than the user.
A social network is values the user more than the content.
Here’s a brief and general overview of the features

Views (Non-registered user) can;
– View Posted content
– Search/Browse/Filter for posted content

Registered Users can;
– Has the same abilities as a viewer
– Post content relating to school material
– Vote on other’s posted content
– Leave comments on posted content
– Report content
– Request new features and material

Moderators;
– Ban users
– CRUD user’s content

Admin;
– Has all priveleges
– Ban Users, Moderators
– CRUD any posted content

Milestones (Dates):
– Oct 24, 2013 – Start of 30 day challenge
– Nov 5th – Alpha release
– Nov 7th – Collect feedback from at least 5 users and find out where to improve
– Nov 14 – Beta release
– Nov 15 – Collect feedback from at least 5 users and find out where to improve
– Nov 23 – Final Release, 30 day challenge complete.

HomePage:
Setting up Golang with Heroku was quick and simple after reading this guide. Getting Started with Go on Heroku by Mark McGranaghan. I decided on sticking with Heroku, instead of Google App Engine because using Google App Engine for hosting requires to many architectural changes.

Here’s the result.

On the homepage I hosted some of the content on Amazon S3 storage but converting all the URLs to point to it is a HUGE hassle. So I don’t think I’m going to be using them until the traffic demands for a CDN.
A major problem I had with Heroku was finding out how to point to the correct filepath for static content on the file system. The answer is simple. The base directory is where `.git` is hosted.

Login:
I got stuck on this part because I needed to figure out how to properly make a nonce (one time token).
https://github.com/LarryBattle/nonce-golang
More information here about nonce. Chapter 4.4 of “Building Web Applications with Golang”

Goals for tomorrow:
– Create mock up screen shots
– Create a login page
– Create a DB connection test page.
– Update https://github.com/LarryBattle/nonce-golang to include demo and documention
– Create a sample unit test
– Create a profile setup page.

Done with day 2

(Page view Count: 25)