Sunday, January 6, 2019

(1-6) MySQL

This week, I continued to speak to the developer of the ERIC API. However, due to the different time zones, the conversation is occurring slowly. Therefore, I have not been able to make much progress with the API.

Instead, I spent the week finalizing the database layout, and learned how to interface with the database with PHP. The database contains 7 tables.

Students (contains name, canvas uuid, and the game server uuid.
This table has a many-to-many relationship with a table called achievements, which contains name, description, and imgpath. This new table is called earned_achievements. Students also has a many-to-many relationship with a table called rewardcriteria, which contains numerous criteria for various rewards. The new table is called earned_rewards. Lastly, there are 2 more tables containing data involving sharing achievements to social media.

With php, I used mysqli to read and alter database data.

Additionally, I inquired with the man in charge of NMT's canvas account about the possibility of obtaining a developer account. However, he declined and said it would create a security vulnerability with the school's canvas account. Without a Canvas account, I wont be able to do two things.

1) I wont be able to develop an LTI plugin. This plugin would be able to be easily included in any class page, and make editing and displaying data much easier due to all student/class data readily available, rather than having to have a standalone site make API calls.

2) I won't be able to simply have students log in, authorize my app, and simply use their client id and secret.

The only workaround I can think of would be the following. I will have a student sign up for my site. They would create a username and password, then be redirected to their settings page, in which the would manually generate a token I can use to obtain data. By using and storing this token, I believe I should be able to do what we need to do. However, I do not think this will be a valid long-term development option. Therefore, it will be an ongoing goal to obtain a development license.

My goals for the following week will be the following.
1) Continue trying to implement the ERIC API.
2) Further develop the layout of the site.
3) Further finalize the database due to the aforementioned roadblock.

No comments:

Post a Comment