Inspiration
Have you ever sat in your dorm room and wondered, I wish I could go play some specific sport with a bunch of people or setup a game night with everybody invited? Well this is the app that allows you to find new events around the organization and create your own to invite all your friends too. According to Google, "the activity or profession of writing for newspapers, magazines, or news websites or preparing news to be broadcast" is journalism. We were able to key into this ideal by broadcasting announcements and events on our website at a campus level.
What it does
Eventageous is an event tracking system that allows somebody in your organization to create an event, add people to it, and then receive event notifications in your Microsoft Calendar. There is also an announcement feature, that allows you to make people aware of new things happening around the organization.
How I built it
First we started with a MySql database and a PHP backend API connecting to it hosted on a Raspberry Pi. We tried using NodeJs to connect to our API and the Microsoft Graph API; however, we spent hours trying to get it to just authenticate and did not work. We started over using C#.Net after being 10 hours into the event with not very much done with NodeJs. We accomplished in 20 minutes what we couldn't do in 10 hours with Node.Js. So once authentication was done we built out functions to our API. Once that was coming along we started integrating with Microsoft Graph API to connect to people's calendars. We also setup a Google Cloud Platform server and publish our app on there and directed our domain to OffByNone.
Challenges I ran into
NodeJs and the Microsoft Graph API were very hard to get to work together even with looking at tons of examples. The Microsoft Graph API assumes you have an organization all set up with permissions open; however, our schools permissions weren't open. We tried creating our own server on a VM, but once we got AD groups and users set up we realized that the Microsoft Graph API requires all the users in the group to have Office 365 and we couldn't find a free version of it for our server. The Microsoft guy gave us a test admin account that could do the Graph API endpoints. We occurred another problem when we tried creating more users using that admin account. We could create the users, but we couldn't give them Office 365 Calendar or Mail, so using them for the Microsoft Graph API wouldn't work.
Accomplishments that I'm proud of
Getting a database and back end API working on a Raspberry PI. Getting a web application deployed on a Google Cloud Platform Server and a domain pointed to it. Connecting to the Graph API and sending and receiving data from it.
What I learned
We learned a lot about configuring servers to be able to get them to work together. We also learned quite a bit about Node Js even if we didn't use it in the end. We learned how to connect to an API in C# and how to lookup documentation to get information about Microsofts object and endpoints.
What's next for Eventageous
Eventageous will be hard to continue without having a setup environment to test on. After the event we will no longer have the Microsoft Test Admin account, but we enjoyed the app so much we will further the development via a different approach using the Graph API.
Built With
- asp.net
- bootstrap
- css3
- graph
- html5
- javascript
- jquery
- material
- micorosft
- mysql
- php
- visual-studio
Log in or sign up for Devpost to join the conversation.