https://github.com/santiagortiiz/python-http-module-rawapi
Web API developed without any framework using native Python http module.
https://github.com/santiagortiiz/python-http-module-rawapi
api-rest decorators-python error-handling http-server postgres python routes
Last synced: 4 months ago
JSON representation
Web API developed without any framework using native Python http module.
- Host: GitHub
- URL: https://github.com/santiagortiiz/python-http-module-rawapi
- Owner: santiagortiiz
- Created: 2022-03-07T01:54:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-07T02:09:07.000Z (almost 4 years ago)
- Last Synced: 2025-06-05T19:02:48.570Z (7 months ago)
- Topics: api-rest, decorators-python, error-handling, http-server, postgres, python, routes
- Language: Python
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme_conditions.md
Awesome Lists containing this project
README
# Library API
Any company just hired you to create an online library. It needs you to build a REST API which will allow our clients to consume the list of available books, as well as to read those books page by page in the desired formats.
For this first iteration the books will be available (page by page) in plain text and HTML. In future iterations, we would like to add support for more reading formats, as well as support to interface with other online book service providers.
## Technical Requirements
- Get list of books
- Get a book
- Get a book page in the desired format
- Make use of friendly routes (for example: `/book/1` or `/book/1 /page/11/html`)
- Provide seeders / migrations for the database (books with their pages)
- Provide instruccions on project setup/configuration
## Rules
- Make use of the language mentioned in the email in which you got this test
- Do not use any frameworks. A good developer must know how to select his tools and how to use them.
- The use of third-party libraries is allowed and encouraged.
- Make use of .gitignore, keep it clean.
## Evaluation Criteria
1. Technical requirements.
2. Organization and consistency of the file and folder structure.
3. Modifiability and extendability of the system where required.
4. Commit history (commits are organized and descriptive).
5. Time used to complete the test.
6. Complexity of the solution.
7. Correct usage of SOLID principles.
8. Correct usage of design patterns.