-
Notifications
You must be signed in to change notification settings - Fork 0
AngularJS and Bootstrap on the front-end, C# ASP.NET MVC WebAPI on the mid-tier, and Entity Framework with LINQ to SQL on the back-end.
TimHarker/Janison
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Application Architecture ======================== No .NET Core used. Built using AngularJS, Bootstrap, C#, MVC, Web API, Entity Framework, LINQ and a local SQL Express instance. http://angular-ui.github.io/bootstrap/ - Bootstrap components for AngularJS by the AngularUI Team jQuery included, but might not be needed depending on bootstrap functionality desired. jQuery Lite is included with AngularJS. If full jQuery is needed, DOM manipulations (selectors) should be done in Directives not Controllers. Dates are stored in universal time (UTC) to accommodate global independence from time zones - dates are formatted to local time zone for display. A custom filter was created to bring more readability/meaning to dates - can be seen on Course Detail page (modules.cshtml), DateCreated and DateModified now show English words. A third party loading bar is used to show progress for restful $http requests. UI-router is used for Nesting and Statefullness beyond what ngRouter can provide. Sorting and Paging is performed client-side using AngularJS's OrderBy and LimitTo filters. Primary keys where used for both CourseID and ModuleID, a foreign key on Module for CourseID was Indexed for join performance. Web.Config AppSettings have a API_URL key to easily enable the WebAPI to be moved into a seperate CORS enabled project for location on a different web server - for scalability. Assumptions =========== - Assumed that 'course modified date' needed to be updated when Modules where added to a Course. - When a Course is deleted the associated Modules are also removed. - Only English speaking countries. - Australian date formats. - For PC and Tablet use, user experience degraded a little on mobile - but workable. - Small dataset sizes (relative to current platform and device hardware usage stats) - i.e. Sorting and Paging done on client-side, might need moving server-side. - Not much client-side Date Object manipulations currently needed, otherwise recommend moment.js or similar utility. - Not much client-side Object Array manipulation needed, otherwise recommend Lodash/Underscore.js or similar utility. - Created in preferred Janison technologies.
About
AngularJS and Bootstrap on the front-end, C# ASP.NET MVC WebAPI on the mid-tier, and Entity Framework with LINQ to SQL on the back-end.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published