A discussion at the frightening Foothill dining turned to bouncing random, dumb ideas for the hackathon (why don't we solve the Travelling Salesman with a Knapsack problem? It's N^2 P^2 right?). As we bounced ideas off one another, we came across a combination of useful components of scheduling and tasks: instant messaging, task creation / completion, and calendar uses. We immediately fell in love with the idea and began work right at 10 Friday night!
What it does
Essentially, our app combines aspects of scheduling tasks into one and provides the user with three key features necessary: task to-do's, calendar, and messaging. More information is below
How we built it
We built a platform that supports Google Authentication and a plethora of other Google API. Front-end was supplemented by Bootstrap and custom design; back-end was done in Django.
Haaris Khan, Allyson Koo, and Girish Balaji handled back-end work (consisting of authentication, chat routing, calendar display, general models, etc.). Michelle Koo and Ram Kalidhindi handled front-end work (designing main pages, creating robust and appealing designs, laying out the foundation of the work to be built upon)
Challenges we ran into
Models in Django were not syncing well. We were forced to makemigrations and migrate multiple times (often times to no avail), and learned that one of our Python interpreters (anaconda, thanks 16a) was flawed and would not work for the purposes of the Django app. This one setback delayed quite a bit of progress including running servers and syncing databases and even installing basic programs through pip.
Accomplishments that we're proud of
1) Created a functioning chat system 2) Properly integrated Google Calendar API and used Google Sign-In to display user's personal calendar 3) Display general tasks that can be submitted as "To-Do" 4) Created extremely slick and robust designs to entice and welcome the user
What we learned
We learned, largely, how UML and OOP played into the design of our structure. We had to create objects that had Many-to-Many or One-to-Many relationships (or other relationships), and understand just how the dependencies were linked in the creation of the system. We also learned how modelling works in Django, how to integrate Google Web API's, and how to use front-end design to bridge the gap between the user and the intricate back-end.
What's next for iAssign