Overview
I’m working on a project…and this is just a post for me to chronicle thoughts about this project. Read if you so desire…
I have not yet started actual code development, I have given myself until July 1st to acquire additional knowledge and skills in various technologies. Starting July 1st I’ll begin composing code, whether I feel entirely prepared or not (I have a tendency to want to forever learn more), though I will continue learning as I go.
[Suggestions for better methods, technologies, books, etc. are welcomed]
[See the end of this post for a change log].
Infrastructure
- I have a background in Systems Administration but am trying to utilize IaaS and SaaS services as much as possible to allow for more focus on the development of the application.
- I’ve been accepted into the Microsoft BizSpark program which provides a number of different benefits including significant ($750) credits monthly for Microsoft Azure services.
- Microsoft Azure Web Apps – For static content hosting (HTML, CSS, JavaScript).
- Microsoft abstracts away the underlying VM, OS, IIS, etc. letting one focus on the application layer.
- It easily scales to multiple systems, allowing for robust scaling capabilities.
- It integrates Application Request Routing (ARR) which is essentially load balancing, intelligently distributing requests to available assets.
- Microsoft Azure SQL Database – For database back-end.
- Microsoft Azure Web Apps – For static content hosting (HTML, CSS, JavaScript).
Development
- C# (Version 6) and ASP.NET (Version 5).1I have significant experience with ASP.NET but have done the code almost exclusively in VB.NET, moving to C# is a significant shift for me.
- Model-View-Controller (Version 6).2I have been working with Web Forms to this point, this is another significant shift.
- ASP.NET Identity.
- OWIN3See also Howard Dierking’s An Overview of Project Katana. Another interesting article is Anders Abel’s What’s This Owin Stuff About?
- OAuth: Microsoft Accounts / Facebook / Google / Twitter
- OWIN3See also Howard Dierking’s An Overview of Project Katana. Another interesting article is Anders Abel’s What’s This Owin Stuff About?
- Entity Framework 7 / LINQ
- Unsure if I will be using code-first, need to do more research.
- HTML5, CSS3, JavaScript*
- TypeScript – JavaScript has an * because I intend to write code primarily using TypeScript which compiles to JavaScript.
- For the reasoning behind this decision see Bryan O’Connell’s article, “Exploring TypeScript and What Makes It Sweet” over at CodeProject.
Potential Technologies:
- jQuery
- AngularJS
- SASS
- ASP.NET Web API
Transactional Email Providers
4Other providers which don’t fall within the price range listed below (are higher) include Postmark. Zapier provides a great guide on transactional emails.- Mandrill – First 12k/mo. free, $.20/1k additional.5I currently utilize Mandrill, which I found via Mailchimp, which I already loved.
- Mailgun – First 10k/mo. free, $.50/1k additional.
- SendGrid – First 12k/mo. free, $.10/1k additional.
- Amazon SES – First 62k/mo. free (if you have EC2), $.10/1k additional (but doesn’t include bandwidth charges).
Spam Filtering Providers
- Akismet – $5/mo. for 75k checks.
- CleanTalk – $8/yr. for unlimited checks.
- MolloM – $41/mo., unlimited spam checks, 1k legitimate/day.
Additional Potential Malicious User Prevention Providers
End Product
- Initial:
- Extension for Google Chrome.
- Server Back-End Processing App.
- Web Administration Console.
- End User (Type I) Web Administration Console.
- End User (Type 2) Web Administration Console.
- Eventual:
- Creation of an API.
- Extension for WordPress.
- Extension for Mozilla Firefox.
- Extension for Microsoft Edge.
Learning Resources
- MSDN Sample Code
- Azure Documentation
- ASP.NET
- MSDN ASP.NET MVC 4
- MSDN System.Web Namespaces
- MSDN .NET Development
- MSDN C# Reference
- MSDN JavaScript Language Reference
- MSDN Cascading Style Sheets
- MSDN Visual Studio 2015 RC
- MSDN Web Development
- MSDN Reactive Extensions
- MSDN Entity Framework
- MSDN Patterns & Practices
- MSDN .NET Framework Development Guide
- MSDN Developers Tools and Languages
- Introducing .NET Core
Software
- Visual Studio 2015 Pro
- Microsoft Visual Studio Online
Books to Read / Currently Reading
- Steve McConnell. Code Complete, 2nd ed. Microsoft Press, 2004.
- Dan Pilone; Russ Miles. Head First Software Development. O’Reilly Media, 2007.
- Eric Freeman; Bert Bates; Kathy Sierra; Elisabeth Robson. Head First Design Patterns. O’Reilly Media, 2004.
- Andrew Hunt; David Thomas. The Pragmatic Programmer. Addison-Wesley Professional, 1999.
- Potential:
- Frank Tsui; Orlando Karam; Barbara Bernal. Essentials of Software Engineering, 3rd ed. Jones & Bartlett Learning, 2013.
- Brett McLaughlin; Gary Pollice; David West. Head First Object-Oriented Analysis and Design. O’Reilly Media, 2006.
- Richard Monson-Haefel. 97 Things Every Software Architect Should Know. O’Reilly Media, 2009.
- Frederick P. Brooks, Jr. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. Addison-Wesley Professional, 1995.
- Chad Fowler. The Passionate Programmer. Pragmatic Bookshelf, 2009.
- Neal Ford. The Productive Programmer. O’Reilly Media, 2008.
- Rod Stephens. Beginning Software Engineering. Wrox, 2015.
- Sergey Barskiy. Code-First Development with Entity Framework. Packt Publishing, 2015.
- Raul Sidnei Wazlawick. Object-Oriented Analysis and Design for Information Systems. Morgan Kaufman, 2014.
- Lars Powers; Mike Snell. Microsoft Visual Studio 2015 Unleashed, 3rd ed. Sams, 2015.
Conferences
- Have Attended:
- May 18th – Microsoft Build Tour – New York City.
- May 28th – Google I/O Extended: New Jersey – Montclair State University.
- Really Want To / Hope To / Will Attend:
- What should I…?
- Might Attend:
- July 20th-22nd – DevCon 5 – New York City.
- Sept. 28th – Oct. 1st – Visual Studio Live! – New York City.
- Oct. 2nd – GothamGo 2015 – New York City.
Existing Projects
Two of my long-term projects are Layered Bible and Open Source Scriptures. I have chosen to temporarily redirect the vast majority of my free time and energy to this project (which shall rename unnamed) due to its potential for creating significant revenue which could be reinvested (at least in part) into the above named projects. I haven’t abandoned these projects, this is an endeavor to further and accelerate them.
Change Log
- 7/3/15
- Added information about Azure Web Apps.
- 6/13/15
- Added section for other resources, added MSDN Code Samples links.
- Added a bunch of additional sites/articles to other (learning) resources.
- 6/12/15
- Update 2:
- Added link to article on EF Code-First.
- Update 1:
- Added OWIN and Oauth references.
- Moved ASP.NET Identity from Potential Technologies to actual technologies.
- Added ASP.NET Web API under Potential Technologies.
- Added transactional mail providers section.
- Added spam filtering providers section.
- Update 2: