This Flask RESTful-API is utilised for the very simple yet essential requirements to manage our tasks in an efficient manner.
These are the simple features the API provides for user convenience:
- User Sign-In and Login : This Flask-RESTful API ensures user security and privacy. Upon registering, a confirmation email will be sent to your email address. Upon clicking the link, your credentials will be registered and you can use the app.
- Secure features: All endpoints require a JWT token, ensuring the API can not be accesed unless you have logged in and subsequently, logged out.
- List of Users by ID: A user may view the details of another user by ID. Passwords however, are not displayed.
- Refresh tokens: Certain features such as deleting tasks are locked and require you to refresh your token to access.
- Creating tasks: Tasks can be created with fields: Name, Category and Status.
- Editing and Deleting tasks: Tasks can be changed from pending to completed or non-important to important based on Name of Task.
- Displaying tasks: Individual tasks can be displayed based on name, as well as comprehensive list of tasks with two seperate endpoints.
- Users Endpoints
- '/register'
- '/user/int:user_id'
- '/login'
- '/logout'
- '/refresh'
- '/user_confirm/int:user_id'
- Tasks Enpoints
- '/tasks'
- '/tasks/string:name'
- Add
- Edit
- Delete
- '/tasks/all'
The API was written using the Flask framework of Python.
Mailing was performed with the help of MailGun.
The API was tested with Postman.
Some of the packages used include:
- flask
- requests
- flask-restful
- flask-jwt-extended
- flask-cors
- marshmallow
- flask-sqlalchemy
- flask-marshmallow
- marshmallow-sqlalchemy