API - kstrack-grose/Git-Project GitHub Wiki
This is basically a quick and dirty overview of the functions that the API needs to be able to perform. I may be oversimplifying it but I'm trying to keep it simple before we make it complicated. My understanding of GitHub's API is that it actually only does a few very basic things, those being Create, Edit, Rename, Move, and Delete. There should probably also be an undelete function.
If you guys want to learn more about APIs in python, Codecademy has a whole series on writing APIs in python and a few other languages which are very useful.
I also found this website that is a list of a lot of really popular websites that have APIs written in python, but thats more fun to look at than useful for our purposes for the most part.
What does an API actually do? The API allows the client and server to talk to each other and sort out what they are trying to say to each other. A useful metaphor is to think of the API as a safari guide with the client being the tourist and the backend stuff being the jungle. The API is the only one that has a good understanding of both sides and is able to facilitate the necessary interactions to get everyone what they need. If you want more this article is a pretty simple but good explanation.
Again, I may be totally oversimplifying what this API needs to do, but I think that the most important part of this will be figuring out how to make the API and the server talk good and that the function libraries that that group puts together are gonna be pretty crucial in the actual functionality of the website. All thoughts are welcome.
==Update==
Okay, so on Monday I think we gained a good understanding of the next steps for the API group. We found out at mod_wsgi allows us to use python to communicate with the storage side. In order to communicate with mod_wsgi, we can use a web interface called web.py, which will allow us to use python to communicate with WSGI (WSGI stands for web server gateway interface). We can also use web.py to directly embed HTML and CSS for styling.
The following tutorials will help us get started using web.py and mod_wsgi. All of the programming can be done locally and then transferred to the Bennington server when we have the code working (Rohail can help with this).
http://kooneiform.wordpress.com/2010/02/28/python-and-ajax-for-beginners-with-webpy-and-jquery/ This shows how to use web.py and ajax/jquery which may be necessary for our applications. In this tutorial you create a text box, that returns a web page when it receives a submission.
http://www.thefourtheye.in/2013/03/deploying-webpy-application-in-apache.html Here are some of the first steps in setting up the Apache Server and getting started with web.py and mod_wsgi.