GitXplorerGitXplorer
n

library_tracker

public
0 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
ab7cb28a55ebf14f2b94eadab3defed03fd66e07

Add license file

nneosergio committed 3 years ago
Unverified
f4c5b9d452f7cd48c55770555bf955b04edfd01b

Add README file with instructions and additional information

nneosergio committed 3 years ago
Unverified
b3b50b4306b0a3e83cbfed34d6a99d0b73b8865e

Add files structure to support future API versions

nneosergio committed 3 years ago
Unverified
3e473ca34792592724082fd79d8f62ce69e825ac

Add API version 1

nneosergio committed 3 years ago
Unverified
b58a668f6ab6c68b1ff45b1324a8d5a071584b35

Add library application and project urls

nneosergio committed 3 years ago
Unverified
03b06a4a95a7c03376ded8e82eaa614ce1772d62

Add initial Django project files

nneosergio committed 3 years ago

README

The README file for this repository.

Library Checking-in & Checking-out tracker

Disclaimer: This is a demo project.

Requirements

  • Python 3.6+
  • poetry
  • Django
  • Django Rest Framework

Running from source code

Clone repository, activate shell, install requirements, run migrations, run server

$ poetry shell
$ poetry install
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py runserver

Usage

Django Admin

Create a superuser to login to admin interface

$ python manage.py createsuperuser --email user@email.com --username user

Open this localhost URL (runserver should be active)

API Documentation

Initial routes are listed here: http://127.0.0.1:8000/api/v1/

{
    "users": "http://127.0.0.1:8000/api/v1/users/",
    "libraries": "http://127.0.0.1:8000/api/v1/libraries/",
    "books": "http://127.0.0.1:8000/api/v1/books/",
    "library_books": "http://127.0.0.1:8000/api/v1/library_books/",
    "library_activities": "http://127.0.0.1:8000/api/v1/library_activities/"
}

Endpoints

Suggestions about Authentication

  • Integration with Third Party providers (AWS Cognito, OpenId, OAuth2, Twiter)
  • Integration with Okta
  • JSON web tokens
  • Token base authentication

Posible questions to PO in order to prevent future versions

  • Is it expected a limit of requests to the application (by hour/day/month)?
  • Does a library could have a different locations? What should expected about inventory in this case?
  • Does a book has a limit of stock by library?
  • It is expected in the future to manage a user reputation?
  • What metrics are expected about books, popularity, price?
  • What metrics are expected about libraries?