A Cross-Platform app for Meetup.com organizers to help track attendees at events.
Written in C# with (Xamarin)
Open Source Project by (@JamesMontemagno)
Copyright 2015 (Refractored LLC)
- Android: Available on Google Play
- iPhone: Available on App Store
- Windows Phone 8: Available on Windows Phone Marketplace
As a user group organizer of (Seattle Mobile .NET Developers Group) I found our right away that there was an issue with finding out not only how many people attended the event but also who was there. I thought that there had to be a better way of checking people in at the door and the using this data to do giveaways as well. After realizing that Meetup.com had a great restful API that I could tap into I spent my holiday break between Dec 24th and Dec 30th 2013 to create Meetup Manager v1 using MVVMCross.
Since then Meetup Manager has evolved and has been optimized. You can now easily visualize your groups performance over time with beautiful charts and at the start of August 2015 I completely re-wrote Meetup Manager using Xamarin.Forms to create a shared user interface and also give it a huge refresh.
I have included an "Analysis Project", which will count the shared lines of code. 95%+ of the code is shared between projects. All of the Models, Services, View Models, Views, and tons of helper classes are all found in one single PCL library.
Simply download the app from the app store or download the code and run! It is that simple as I have provided sample API keys to get you going.
To run UITest you will need to provide a test account email and password. Simply open up MeetupManager.UITests/Tests.cs and enter your username and password.
By default I have commented out the Syncfusion Charts as you will need to either start a free trial or purchase Syncfusion Essential Studio for all sorts of awesome controls. To get started simply download a trial from our component store: https://components.xamarin.com/view/syncfusionessentialstudio
After downloading the Component, you will want to ensure the following references have been added to each project, and add a bit of initialization code.
- lib/ios-unified/Syncfusion.SfChart.iOS.dll
- lib/ios-unified/Syncfusion.SfChart.XForms.dll
- lib/ios-unified/Syncfusion.SfChart.XForms.iOS.dll
In the AppDelegate.cs after Forms.Init(); add new SfChartRenderer();
- lib/android/Syncfusion.SfChart.Android.dll
- lib/android/Syncfusion.SfChart.XForms.dll
- lib/android/Syncfusion.SfChart.XForms.Android.dll
In the MainActivity.cs after Forms.Init (this, bundle); add new SfChartRenderer();.
- lib/pcl/Syncfusion.SfChart.XForms.dll
Open up Views/Statistics.xaml and comment back in the chart. Open Views/Statistics.xaml.cs and comment back in the Chart code to set the zoom level.
Everything is written in C# with Xamarin with a base PCL library. This project couldn't have been done without the following:
http://www.xamarin.com/forms: Use the Xamarin.Forms API to quickly build native apps for iOS, Android and Windows completely in C#.
https://github.com/jamesmontemagno/xamarin.plugins - I wrote this, so you should probably use it for cross platform settings :)
https://github.com/jamesmontemagno/xamarin.plugins - I wrote this, so you should probably use it for beautiful circle images!
https://components.xamarin.com/view/json.net - I use both the NuGet in the PCL and component for iOS for facade linking. One of the most wonderful Json libraries that I simply love. It is used to deserialize all information coming from the meetup.com APIs.
https://components.xamarin.com/view/xamarin.auth - Allowed me to integrate in oAuth 2.0 from Meetup.com in under 1 hour.
https://components.xamarin.com/view/gcdiscreetnotification - Bringing toast notifications to iOS
https://components.xamarin.com/view/modernhttpclient- Faster apps with a faster httpclient handler!
http://xamarin.com/insights - Add real-time monitoring with precise, detailed error reporting to your apps in a single line of code.
https://www.nuget.org/packages/sqlite-net-pcl/ - SQLite in your PCL and .NET by my good friend Frank Krueger
The MIT License (MIT)
Copyright (c) 2015 Refractored LLC / James Montemagno
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.