Tuesday, November 27, 2018

(11-27) Thanksgiving Break

I went on travel and was not able to work on the project due to lack of internet. I will immediately resume where I left off!

Tuesday, November 20, 2018

(11-20) More Web Design

This week, I decided to not use Django. I made this decision because we're nearing the end of the first half and I need to spend all my time developing the product, rather than learning a new tool.

My site at is coming around nicely. I feel I've gotten the hang of html, css, javascript, php, and using APIs to display data on my site. So far, I've been able to display data from both canvas and our game server in a website that looks nice and has animation.

My next steps would be to the following:
  • parse through the game server's XML response and display data in the form of "cards" on the screen.
  • Implement a "login" so any user can link their canvas account and their game data.
  • Begin developing a database that holds achievement data.

Monday, November 12, 2018

(11-12) Django

Last week I said my goal for this week was to not only develop a layout for my site, but to also add ways to share data to various social media. While this is still my goal, I discovered Django, a python framework for rapid web development.

I was initially attracted to Django for many reasons.
  • Python and C are my most-comfortable languages.
  • Python is entirely server side, eliminating the CORS issue I struggled with earlier
  • Django is amazing when it comes to database management and dynamic page layout - two things that are crucial to my site.
I tried learning Django earlier in this project, but all the tutorials used terminology involving web servers and databases, and I had zero experience in either of those topics. Now, however, I am able to follow these tutorials and I've started developing test sites using Django, and I'm loving this framework.

I'll spend this week learning the ins and outs of Django.
  • How to use Django with a public domain name rather than localhost
  • How to use Django to implement logins and display data based on data imported from canvas and the game server into an sqlite database.
  • How to use Django to display a beautiful, user friendly webpage
  • Pretty much just how to use Django.

Monday, November 5, 2018

(11-5) Sharing to Social Media

This week, I was able to successfully pull and parse data from both servers without any issues. I also decided what kind of achievements I thought would be the most effective. Here are a few.

Card-Earners
  • "Receive an A on 5 quizzes in a row"
  • "Upload 5 assignments on time"
  • "Log in every day for a week"
  • "Maintain an overall grade of 90+ for a month/semester"
  • "Finish the semester with an 80+"
  • "Submit 20 assignments on time"

Achievements
  • Obtain 3 cards with the same name
  • Obtain 2 ultra-rare cards with the same name
  • Have a card library of size 20+

The card earners would reward players with a card, whose rarity is determined by the difficulty of the task completed. For example, maintaining an overall grade of an A would reward the player with a card that's more rare than a card earned by uploading 5 assignments on time.

The card-earners, however, are to be determined by the professor. It would be unfair to the players if one professor gave a quiz every week for "participation", while another professor never gives quizzes.

The achievements listed would encourage completing the same achievement more than once, thus encouraging good habits.

The players would then have a "card book" that displays all the cards they've earned, and they'll be able to share the cards they earned on Facebook, Twitter, Discord, etc.

This week, I'll work on adding the ability for my site to share things to other social medias.