Top Banner
CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal
14

CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Mar 31, 2015

Download

Documents

Dakota Turbett
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

CS125 Honors ProjectIllini TIX

Austin KramerPeter KowalczykRohan KapoorJay Bensal

Page 2: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Right NowCurrently, many student tickets for sale via Facebook.

Market is defined; other students only.

Lots of hit and miss. Inefficient way to meet sellers/buyers of tickets on Facebook.

Page 3: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Right Now ( cont.)Tickets are often sold in a matter of

minutes.No way to organize posts by game,

cost, location, etc.Problem of coordinating in real-time.Requires a lot of work on user’s part.

◦e.g. commenting on multiple posts.

Page 4: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.
Page 5: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Goals & Accomplishments

- Change how tickets are sold by students on campus!- Learn web development, Django

- Took a strong first step- Gained some experience

Page 7: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

How We Built itLanguages- Python, JavaScript, HTML, CSS

Web Framework - Django (uses Python)

CSS Library- Bootstrap from Twitter

Page 8: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Code: Django Modelsclass Ticket(models.Model):"""A ticket that students can exchange."""event = models.ForeignKey(Event)available = models.BooleanField()seat_location = models.CharField(max_length=20)sell_location = models.CharField(max_length=40)price = models.IntegerField()seller = models.ForeignKey(User, related_name='+', null=True)buyer = models.ForeignKey(User, related_name='+', null=True)creation_time = models.DateTimeField()

Page 9: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Code: Views@login_requireddef ticket_add(request): if request.method == 'POST': form = tix.forms.TicketForm(request.POST) if form.is_valid(): t = tix.models.Ticket() t.available = True t.seat_location = form.cleaned_data['seat_location'] t.price = form.cleaned_data['price'] t.sell_location = form.cleaned_data['sell_location'] t.event = form.cleaned_data['event'] t.creation_time = datetime.datetime.now() t.seller = request.user t.save() return HttpResponseRedirect('/ticket/posted/')

Page 10: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Code: Availability Check{% for t in ticket_list %} {% if t.available %} <tr> <td>{{ t.seller.first_name }} {{ t.seller.last_name }}</td> <td>{{ t.seat_location }}</td> <td>{{ t.sell_location }}</td> <td><button class="btn btn-info" onclick="javascript:window.location.href='/ticket/buy/{{ t.id }}'">${{ t.price }}</button></td> </tr> {% endif %} {% endfor %}

Page 11: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Code: Email if form.is_valid(): subject = form.cleaned_data['subject'] message = form.cleaned_data['message'] sender = form.cleaned_data['sender'] cc_myself = form.cleaned_data['cc_myself'] recipients = ['[email protected]'] if cc_myself: recipients.append(sender) send_mail(subject, message, sender, recipients) return HttpResponseRedirect('/thanks/')

Page 12: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Complications- Git commits, pulls, and merges- Constant updates to the Database- Deployment to Web Server- Unclear idea of vision for Android App

Page 13: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

What we learnt

- First project built for other people.

- GitHub and collaborative code editing

- Team workflow and managing dynamics

- Designing own user authentication system is painful

Page 14: CS125 Honors Project Illini TIX Austin Kramer Peter Kowalczyk Rohan Kapoor Jay Bensal.

Future Plans- Keep the site live; iterative improvements- Redesigned Android App- Facebook Integration for log in- Text messaging integration- Different sorts on website e.g. seat

section- View tickets by selling location(on Google

Maps)