Skip to content

TheDarkCode/AngularAzureSearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is being merged with SwiftDotNet.


AngularAzureSearch

Packagist

Sample full-featured web application containing separate WebRole (Front-End Client), WebAPI (Web API 2 Site using DocumentDB as data store), and Apache Cordova MobileApp using AngularJS / Ionic.

This project's goal is to integrate best practices across multiple projects utilizing the following frameworks and feature sets: AngularJS v1.4.3+, Azure Search, Bing Maps, ASP.NET MVC 5 / Web API 2, Azure DocumentDB, Real Time Updates (SignalR), ASP.NET Identity / OWIN, Dynamic Cross Origin Resource Sharing (CORS), Dependency Injection (Ninject), Dynamic Multi-Tenant Data Partitioning (Hash/Managed Hash/Range/Lookup/Spillover), Azure Blob Storage, and Two-Factor Authentication (SendGrid, Twilio).

PASSWORD: $Ecret123
NOTICE: YOU MUST UPDATE ENDPOINT URIs PRIOR TO PRODUCTION DEPLOYMENTS. DEMO SERVICES WILL THROTTLE PUBLIC USERS.

Current Live Demo Version: Build 21, 12/18/2015

Current Development Version: Build 23, 1/15/2016

Status:
  • Progress is currently on hold. Extended work is being converted into a new project.
  • WebRole works for User login/signup and Trails data CRUD operations. Confirm Email not enabled in demo.
  • WebAPI is fully working for Trails data and User accounts.
  • DataIndexer is set to Trails data schema. Must configure via app settings config file.

E-Mail Support: support@dryverless.com

Known Issues/Warnings:
  • dlMenu animations do not render properly in all instances. Delayed in some cases.
  • Url still contains filters and orderby parameters after leaving Homes page.
  • Confirm Email not tested. Manage user account view will be resolved in next update.
  • External login providers (Facebook / Twitter / Google / Microsoft) are not implemented yet. Will be added in the coming updates.
  • Limitation for Cors is that it must have the correct URI syntax. Do not add "www." if it is not necessary. Future updates will address this.
  • Range and Lookup Partition Resolver Initializers are not completed yet. Spillover Resolver is not async.
  • Multiple partitioning resolvers requires multiple clients. Current implementation is limited to a single resolver per client.
  • External login support and autopopulating data/profile pictures from FB/Twitter accounts will be added in next round of updates.
  • Interaction with Blob Storage to upload/download files is not completed. Still needs to be linked up with DocDB.

Azure Service Requirements for Deployment

You must configure the project with your own Azure Search Keys, Azure DocumentDB Database Connection Information, and Bing Maps API Keys.

If you are new to Azure, you can get a free trial at the following link:

https://azure.microsoft.com/en-us/pricing/free-trial/

Bing Maps API (10k transactions/mo for free)

http://www.microsoft.com/maps/Licensing/licensing.aspx#mainTab2

Azure Search Service are free excluding outbound data transfers (3 data connections / indexes / indexers, 50 MB Total Storage, 10,000 Documents).

https://azure.microsoft.com/en-us/pricing/details/search/

Azure DocumentDB requires at least an S1 plan ($25/mo = 250 RU/sec, 10 GB Storage) for each collection used (even empty ones).

https://azure.microsoft.com/en-us/pricing/details/documentdb/

Data Transfers Pricing Details

https://azure.microsoft.com/en-us/pricing/details/data-transfers/

Generating Mobile App Splash Screen and Icons for iOS/Android

While connected to the internet, you should use the following instructions from the Ionic Framework site to auto-generate the appropriately cropped and resized splash and app icons for all the platforms you are deploying to: http://ionicframework.com/docs/cli/icon-splashscreen.html

The TL;DR version is to add the icon and splash screens (renamed to icon.png and splash.png [or psd]) to the "resources" folder at the root of the MobileApp project. Then set your command line or terminal window to the Mobile App project's directory. From there, enter the following commands: "ionic resources --icon" and "ionic resources --splash". The commands will automatically generate the icons and splash screens for all platforms currently added to the project. If it doesn't work, delete the existing icons and splash screens and run the commands again. You must have the Ionic Framework installed via NPM (with the appropriate path set) in order to execute "ionic" prefixed commands.

How User Data Appears on DocDB Server:
{
  "id": "463b5add-3abb-482c-8f72-9f199203e22b",
  "UserName": "demo@github.com",
  "Email": "demo@github.com",
  "EmailConfirmed": true,
  "PasswordHash": "AMZO39oQGu9eUtMcy8gho6oPxETXQ8OPmeju7JEVMeHW7LgQi/hcnEATX7294xfBKg==",
  "SecurityStamp": "31a3e067-7508-41c4-acd5-d4311da67b2c",
  "PhoneNumber": null,
  "PhoneNumberConfirmed": false,
  "TwoFactorEnabled": false,
  "LockoutEnd": "0001-01-01T00:00:00+00:00",
  "LockoutEnabled": false,
  "AccessFailedCount": 0,
  "Logins": [],
  "Claims": [],
  "Roles": []
}

Related GitHub Projects / Credits

Azure Search Demos by Liam Cavanagh, Microsoft

DocumentDb with Web API by Richard J. Leopold

DocumentDB.AspNet.Identity by Adrian Fernandez, Microsoft

GolfTracker.DocumentDB by King Wilder, Gizmo Beach

azure-documentdb-dotnet by Ryan CrawCour & Aravind Ramachandran, Microsoft

angular-parallax by Brett Donohoo

MailService by James Bisiar

angular-fullscreen by Fabio Biondi

angularUtils (pagination) by Michael Bromley

angular-modal-service by Dave Kerr

MVA-SignalR by Jon Galloway & Brady Gaster, Microsoft

Ionic Framework

Helpful Links

Ionic Framework Documentation: http://ionicframework.com/docs/
W3C Recommendation on Cross-Origin-Resource-Sharing: http://www.w3.org/TR/cors/

Related Microsoft Virtual Academy Courses

Adding Microsoft Azure Search to Your Websites and Apps:

Developing Solutions with Azure DocumentDB:

Lighting Up Real-Time Web Communications with SignalR:

About

Sample full-featured web application containing separate WebRole (Front-End Client), WebAPI (Web API 2 Site using DocumentDB as data store), and Cordova MobileApp.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published