cs4347.002-helium's Issues
[POST] /book/checkin endpoint
F4c: [POST] /book/checkout GUI
[POST] /book/checkout GUI
B2: /borrower/create endpoint
[POST] /borrower/create endpoint
- Create borrowers with name, SSN, address required.
- Autogenerate new card_no primary keys for each borrower
- Reject on same SSN and return useful error message
F1: Create Basic Frontend
Create Basic Frontend:
Create basic structure with sections for each type of operation
B4d: [PUT] /book/checkin endpoint
[PUT] /book/checkin endpoint
- Check in book with book data from [GET] /book/checkin
- Update date_in field
F2b: [GET] /book/checkin GUI
[GET] /book/checkin GUI (High priority GUIs)
F4a: [PUT] /fines/update GUI
[PUT] /fines/update GUI
B3c: [GET] /book/checkin endpoint
[GET] /book/checkin endpoint (Frontend Dependency)
- Search for BOOK_LOANS tuples by any of BOOKS.book_id, BORROWER.card_no, and/or any substring of BORROWER name.
F4b: [PUT] /fines/payment GUI
[PUT] /fines/payment GUI
F4d: [POST] /borrower/create GUI
[POST] /borrower/create GUI
B4c: [PUT] /fines/payment endpoint
[PUT] /fines/payment endpoint
- Allows payment of fines using Loan_id from [GET]/fines/all
B: Data Cleanup
Known Issues:
- & -> &
- > -> >
- < -> <
- Escape '
- Book Cover_url Attribute
to get book cover for:
0373835426 9780373835423 Witchcraft / Last Chance Cafe / Bayou Reunion Jayne Ann Krentz,Amanda Stevens,Rebecca York http://www.openisbn.com/cover/0373835426_72.jpg Harlequin 352
replace
http://www.openisbn.com/cover/0373835426_72.jpg
with
https://images.isbndb.com/covers/54/23/9780373835423.jpg
To generate the url, use last 4 of ISBN13 (i.e. ISBN13 = 9999999994321):
https://images.isbndb.com/covers/43/21/9999999994321.jpg
Or more generally:
https://images.isbndb.com/covers/ISBN13[9:10]/ISBN13[11:12]/ISBN13.jpg
B3a: [GET] /fines/all endpoint
[GET] /fines/all endpoint (Frontend Dependency)
- Return all fines as an array. (The frontend can handle everything else)
B3b: [GET] /book/search endpoint
[GET] /book/search endpoint (Frontend Dependency)
- Search for book by ISBN, title, and/ or Author(s)
- Handle queries from a single text search field and be case insensitive.
- Substring matching
F2a: [GET] /book/search GUI
[GET] /book/search (High priority GUIs)
/book/search Pagination
Right now, we return the first X number of books that match the query. We probably want to enable full pagination.
It might be easiest to implement with the limit/offset SQL clauses.
If we go that route:
- Implement Limit/Offset Pagination
- Add offset query parameter
F3c: GUI for data from [GET] /book/checkin
GUI for displaying and interacting with data from [GET] /book/checkin
B4a: [PUT] /fines/update endpoint
[PUT] /fines/update endpoint
- Updates/refreshes entries in the FINES table
F3a: GUI for data from [GET] /book/search
GUI for displaying and interacting with data from [GET] /book/search
F3b: GUI for data from [GET] /fines/all
GUI for displaying and interacting with data from [GET] /fines/all
B1: Parse Borrowers CSV
- Parse Borrowers CSV data
- Include Borrowers data into schema.sql
F5: Styling
Styling
B4b: [POST] /book/checkout endpoint
[POST] /book/checkout endpoint
- Checkout book with book data from /book/search and a BORROWER(Card_no)
- Borrowers can only checkout 3 books (must check for borrower and date_in==NULL).
- Useful error on failed checkout
B5: Book Availability
Include Book Availabilty in [GET] /book/search
response.
Our assumption is that there is only one copy of any book in the database. We can change that if we like, we'll just need a new attribute (num_copies), and to check the count of open book_loans against it.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.