Skip to content

Tech Stack

Isabel Costa edited this page Aug 19, 2018 · 7 revisions

Summary

Why use Flask framework?

To be continued ... Since this project had to be completed during the

Why use Flask-RESTPlus?

Flask-RESTPlus is the core of this backend, The REST API is built using this flask extension. The main advantage is that it supports Swagger Documentation.

You can know more about how to use Swagger in this Wiki page.

Why use Flask-JWT-Extended?

Flask-JWT-Extended provides great support for JSON Web Tokens (JWT) based Authentication. It provides a lot of flexibility

You can learn more here [NEEDS PAGE EXPLAINING THIS] about how User Authentication is done in this project.

Initially we started using Flask-JWT, but as the development progressed we started having challenges to solve that required a more flexible library. One of the issues that made us change to Flask-jwt-extended was the need for extra verifications while login in a User into the system, specifically verifying if the user had the email verified. After looking into flask-jwt source code and docs to see if this could be done easily the GSoC student concluded that it would require extra work by having to override some functions, as done before, and that this would overcomplicate code. Ultimately, it was agreed with the mentors to use flask-jwt-extended that provided more flexibility to implement the Login API. The official documentation of flask-jwt-extended shows an example of the basic usage of the extension, where it shows the flexibility to verify extra fields and properties and provide custom error messages.

Why use AWS?

AWS is being used since other previous projects were using AWS as well, such as systers/portal. Although other projects in the community use Heroku.