Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dotnetdave
- -improving code quality
- -8583670921 GABB
- -layers architecture applied to azure
- -3rd party vendors, use components from others. worflow on how 2 research them
- -Rock world survey App - phone # connected to that
- --cloud based SMS, rate sessions
- --gather info like skill level, email, comments.
- --admin features
- Architecture of App (bottom to top)
- -Good data Layer, SQL Server. Entity framework, DataSets [emphasis here?]
- -Business layer (workflow, components [Azure webjob], entities [POCO, T4 templates])
- -Communications layer
- WCF, Web services, Azure, Azure App ervices, WCF workflow, Azure App services
- -User experience (UI components) (Presentation layer - most code here)
- store, sharepoint, VSTO, reporting, lightswitch, ASP.NET
- 90% of code should not be here. only code to deal with freaking users.
- cache as much as u can if u want to look speed faster.
- --On side of architecture, Identity [active directory, identity foundation]
- Other goals: cheap as possible. turn on app only when speaking.
- Data Layer:
- -very important proper foundation
- -Entity framework 6. SQL azure. LocalDB for debugging. copy from SQLazure down, run locally.
- -ORM, exposes DbContext, custom methods. Uses migrations to keep database up to date.
- -EF if u change field, spit out code automatically for migration. if it has to make new table, automated changes.
- Data layer design slide:
- Talks table. all talks.
- SurveryContext - all data comes from this. Done with wizards in visual studio.
- Entity framework slide.
- Easy to perform CRUD. CRUD or store procedure same speed.
- Works with most DBs. Use pre-generated views to speed up start-up time.
- Pre-cache queries if sees them alot.
- Slide Entity Framework issues:
- -EF7 or EF core, not ready at time of writing data layer.
- -migrations kept reseeding databse causing duplicate records
- -migrations should be easier. only way to do is PowerShell
- - doesnt show u db path from LocalDB
- ===Business Layer===
- any framework code first classes.
- Data entities
- Validation is re-used in DB and UX layers.
- interface and data entity for SMS messages. if u want to swap out SMS layer it's easy
- Entities use base.
- Issues: had to rewrite base class due to indexing issues.
- ----- why string database field for Id?
- guid? assembly?
- inhertance ITableData
- slide SMSprocessor Assembly
- -use twlilio
- -SMSClient is interface. dont have to use twilio. swap out possible.
- Twilio issues: images number doesn't work
- -----doesnt remove assets when messages are deleted. doesn't delete pictures with message.
- ""Chunky not chatty""
- -----new version completely breaks current code!!
- Dotnettips.conference.survey.webjob *meat of app*
- -retrieves and sends SMS messages from attendees and speaker
- -sends stats to speaker via text every x minutes
- -sends out winners and survey x minutes before end of session
- -auto completes session after x minutes or all survey data completed by attendees
- Webjob, console app that runs in azure
- Webjob issues: doesn't stay alive unless switch standard plan or above
- -------: set always on
- -------: token.IsCancellationRequested doesn't work
- -------: fail messages archaic
- -------: documentation is non-existent for some things
- ===Communcations Layer===
- -Azure mobile app (service) [NOT USED]
- -supports push out of the box. no tooling for clients, doesn't support OData. not ready prime time
- -Web API for services layer. works, been around, tooling for it, easy to get going.
- -doesn't support pipes.
- -Make sure u select WEbAPi when creating web project to ensure proper classes / config is added
- ===User Experience Layer===
- ASP.NET(Azure)
- Reporting
- Mobile Phones(Xamarin)
- website show upcoming sesion,current average rating(public)
- administer data (private)
- add edit talks, events and sessions (private)
- Web app architecture
- ASP.net web forms (fastest way for webpages)
- 3rd party controls for UI
- Implements security via ASP.NET identity database
- Third party products to get things done quick
- Research - pick 3 companies that do thing, read stuff, read comments
- Install - see how work, what they installed.
- Test - as real world as possible to see if it can solve
- Grid control - grid shows all upcoming sessions
- looked at Grapecity (ComponentOne) no auto editing features
- Telerik - would not save data via EntityDataSource control
- Dataexpress - only a few issues
- "never let users type if can help it"
- need "real world" example apps, incl downloadable source.
- better documentation!
- faster reply to support tickets.
- ===Other App Features===
- -App logging
- --TraceListeners via dotNetTips.utility.logging opensource assembly
- --Backup via AzureDiagnostics TraceListener
- --Stackify, install everything via nouget pkg, look at tlogg
- encapsulation extension methods. Unit testing using MSTest and Intellitest
- CodeIt.Right: can fix bugs for you
- ghost doc: if u use proper naming standards, ghost doc will write for you
- memory profiling: watching memory dumps while program is running .Net memory profiler from psytech
- Spices.net obfuscator: need to obfuscate code, else gets easily stolen. like someone stealing DLLs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement