The OLaunch mini-project, a web app, provides information about orbital launches as proof I know the C#/ASP.NET stack.
This post touches on the design aspects. Since it will be a small demo app, I will use an abbreviated FDD/Agile approach to develop OLaunch.
Visual Design
Use Cases
Sequence
Features
- User can browse a list of launches
- User can filter the launches by certain criteria:
- Launch date and time
- Agency
- Other criteria as time and upgrades allow
- User can search launches (optional)
Development Plan
To develop these features, I’ve separated out tasks per the MVC architecture. Not quite FDD, but for a demo app with a solo developer, it’s more agile.
View
- The view’s header and footer link back to my portfolio/resume site
- The view shows a stubbed, plain text list of launches
- The view shows a Bootstrap flexible grid of stubbed results
- The view shows the actual results
- The view is sortable and filterable by basic criteria
- The view is filterable by additional information (optional)
- The view is cleaned up for release
Models
I will use multiple models.
- Create basic classes to act as models from the JSON data returned
- Add to the classes for additional filterable information
Controller
For a larger application, I would probably create dedicated controllers for the external API. For simplicity and expediency, I’m sticking to one controller.
- Execute one particular request to the external API
- Use JSON.NET to parse the result, feeding parsed results to classes acting as models
- Add support for additional requests
Release Plan
In-Work
These releases will be informational only, to show progress.
Alpha Release
This release will provide the list of launches but will not be filterable.
Beta Release
This release will support filtering the launches.
Related Work
My previous project, Affirm (app, series and code), is similar in that it, too, is an MVC app developed in a VM. It differs in that it’s a Rails stack app and developed under an Ubuntu Vagrant VM (tutorial and code) I configured myself.
I’ve worked with MVC apps and ASP.NET before for Fortune 50 companies. See my resume.