Social Network in 30 days : Day 2


Warning: Undefined array key "layout" in /home/bateeqjg/public_html/news/wp-content/plugins/wp-about-author/wp-about-author.php on line 94

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

Larry Battle

Larry Battle

I love to program, and discover new tech. Check out my <a href="http://stackoverflow.com/users/527776/larry-battle">stackoverflow</a> and <a href="https://github.com/LarryBattle">github</a> accounts.

More Posts - Website

Follow Me:Add me on XAdd me on LinkedInAdd me on YouTube

Social Network in 30 days: Day 1


Warning: Undefined array key "layout" in /home/bateeqjg/public_html/news/wp-content/plugins/wp-about-author/wp-about-author.php on line 94

Hey guys and gals.
You know, I haven’t built anything in a while.
So today, I decided to challenge myself to build a social network within 30 days.
For the next 30 days, I’ll provide short blog post about my process and lessons learned.

Day 1:

Project Overview:
After some thought I decided to go with creating a site similar to Stackoverflow.com and chegg.com for online learning targeted for college students. Students post questions and peers help answer their questions about a course.

Tech:
Hosting: Heroku (Cloud Hosting)
Server Side: Google Go 1.x
Database: Redis 2.x(Caching), MySQL 5.x
Front-end: jQuery 2.x, Bootstrap.js 3.x and Angular.js 1.x

Budget:
cost < $1,000 Team Right now, just me. Might out-source a few parts. Here's my resume if you're curious about my background. http://www.indeed.com/me/larry_battle Also, I'm following this guide for learning Google Go, https://github.com/Unknwon/build-web-application-with-golang_EN Risks - Finding the time to work on this is going to hard. Time management is going to be crucial. - Learning curve. Expect for jQuery, I'm not an expert in any of the technologies I'm using. That's it for day 1. Plans for tomorrow: - Developer a feature list - Plan out milestones. - Create a homepage. - Create a login page.

Larry Battle

Larry Battle

I love to program, and discover new tech. Check out my <a href="http://stackoverflow.com/users/527776/larry-battle">stackoverflow</a> and <a href="https://github.com/LarryBattle">github</a> accounts.

More Posts - Website

Follow Me:Add me on XAdd me on LinkedInAdd me on YouTube

Book Review for “The E-Myth Revisited”

The E-Myth Revisited
The E-Myth Revisited

First off, this book is about “why most small business fail and what to do about it”.
If you’re searching for a guide on how to properly setup a startup then read “Become your own boss in 12 months” by Melinda F. Emerson.

After finishing this book, I feel that I have learned a lot of useful tips.
His business tips are mix-in with the story of Sarah, an owner of a pie shop called “All About Pie”.
The general idea is this.

The goal of owning a business is to create jobs and sell it.
Work ‘on’, not ‘in’, your business by developing a set of “Francaise Prototype” rules for each role and situation in your business.
The “Francaise Prototype” is a manual with the key ingredients (developed by innovation/trail & error) on increasing sales and reduce cost.

I really didn’t like the story because it’s too long and predictable, which makes it boring.
I felt like he was holding back details so that you’ll buy into his “Turn Key Analysis” program.

I recommend entrepreneurs to read this book (“The E Myth”) but it’s not essential since it doesn’t go into the juicy details of starting up a successful business like the book “Become your own boss in 12 months”. For one, she warns you from the start not start a business without secure savings, since a lot portion of startups die from financial reasons. Also her stories are a few paragraphs and not a whole book.

Larry Battle

Larry Battle

I love to program, and discover new tech. Check out my <a href="http://stackoverflow.com/users/527776/larry-battle">stackoverflow</a> and <a href="https://github.com/LarryBattle">github</a> accounts.

More Posts - Website

Follow Me:Add me on XAdd me on LinkedInAdd me on YouTube

IT Business Start Up Guide

IT Business Start up Guide

By Larry Battle
The following are 10 simple steps that you can take to successfully turn your idea into a marketable product or service. This guide is more geared to software startups.

  1. Create a Business Plan & Product Document
    Construct a product or service that solves a problem.
    Verify with others that the product or service is marketable.
    Or find at least 3 potential customers willing to buy your product or service.
    Note that you need to involve at least one customer throughout the entire start up process.
    Process: Develop a document that describes the following information.

    • Your product or service
    • Audience / Marketplace
    • Competition
    • Schedule with deadlines
    • Financial Projections
    • Startup cost
    • Business Plan (How are you going to make money?)
    • Market and Sells Strategy
    • Limitations
    • Team Members
    • Exit Plan
  2. Create a Requirements Document
    Define what your product or service does, what it come with and how you’re going to make the customer happy.
    Process: Develop a document that contains the following information.

    • Product Name
    • Deliverables (what is it you’re making)
    • Customer Requirements (What are the customer wants)
    • Functional Requirements (What are the functionalities)
    • Environment / System Requirements (What will this work with)
    • External components
    • Diagrams for Overview, Software and /or hardware
    • Hardware components
    • Limitations
    • Assumptions
    • Team Roles

  3. Create a Architecture Document
    This documents converts the requirement/product/services into simple abstract layers.
    Process: Develop a document that contains the following information.

    • Programming Language / Framework / Software Used
    • Layers
    • Customer Requirements to Layers Matrix
    • Diagrams of Layers and Data Flow
    • Simple Data flow
    • Use Cases
    • Simple GUI Mock-up
  4. Create a Detailed Design Document
    This document will discuss the sub-layers within the layers and define data-flow between them.
    Process: Develop a document that contains the following information.

    • Layers
    • Sub-layers
    • Diagrams of Layers, sub-layers and Data Flow
    • Data Flow Definitions
  5. Create a Test Plan Document
    Create Test cases.
    Process: Develop a document that contains the following information.

    • System Test Plan
    • Integration Test Plan
    • Unit Tests Plan

  6. Develop a working prototype of your Product or Service
    Develop a prototype of the working system.
    I prefer to use test driven development (TDD).
    TDD steps are to Write a test case, watch it fail, program it to pass, re-factor.
  7. Convert your product from beta to a final product / service
    Work with beta testers and customers to improve your product / service to a final working product or service.
  8. Perform System Verification
    Check to see if the system works and have fulfilled all the requirements.
  9. Get ready for release
    Create the following items

    • Product/Service Packaging
    • License and warranty
    • Support information
    • Company website release page
    • Demo setup
    • Payment System
    • User guide and other documentation
  10. Release and start marketing
    Release to the public, market the product/service and rake in the cash.
    You can do stuff like …

    • Video Demonstrations
    • Buy Ads
    • Press Release
    • Attention getting stunts

Done.

Larry Battle

Larry Battle

I love to program, and discover new tech. Check out my <a href="http://stackoverflow.com/users/527776/larry-battle">stackoverflow</a> and <a href="https://github.com/LarryBattle">github</a> accounts.

More Posts - Website

Follow Me:Add me on XAdd me on LinkedInAdd me on YouTube