Sprint 6 Challenge
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginnen Sie mit der Definition der Modelle und des Einstiegspunkts in der main-Methode, und planen Sie anschließend die Zugriffsklasse, die Service-Layer-Schnittstellen und die in den Anforderungen beschriebene In-Memory-Datenbank. Testen Sie den Service Layer mit Unit-Tests und überprüfen Sie, dass die Akzeptanzkriterien für Ausleihen, Rückgabe, Suche, Verfügbarkeit und die Annahme von Verspätungsgebühren erfüllt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Sprint Challenge
The code you write for this challenge is mandatory homework and should be completed and sent in a PR for review before class.
Requirements
Overview
Create a library system for managing book borrowing and returns.
Acceptance Criteria
Ability to:
- Save new books
- Validate against duplicates
- New book saved to database (in memory or text file)
- Borrow a book
- Validate if it's available to borrow
- Start with a fixed borrow period (maybe 1 month) and optionally refactor later to be variable
- Update database record to set that the book is now borrowed and hence not available for someone else to borrow
- Should include a borrow / return date
- List the books currently borrowed by a user
- Actively borrowed books only, not ones that have been returned
- Return a book
- If it's being returned late report that the borrower should be fined £1 per day late
- Update database record to set that the book has been returned and hence can now be borrowed again
- Search for a book by title or author to see if it's available to borrow or not
- Present sensible responses for the cases:
- Book exists and can be borrowed
- Book exists but is already borrowed by someone else
- Book does not exist
Code Quality
- Tiered architecture used with an in memory database (or you can write to a text file, your choice!) and console used as the presentation layer
- Interfaces used in service layer and DI used throughout
- Code clearly documented and unit tested!
Developer Guidance (deliberately limited!)
- Think about the models you'll want first, and what data you'll need to store in order to meet the above criteria
- Think about how to save the data in a format (using appropriate data structures) that you'll be able to read and write to → the internet can help here!
- Create an access class responsible for reading and writing to the 'database'
- Create a suitable service layer using interfaces that you call from a main method to perform the library operations detailed in the acceptance criteria
- Make sure the service layer is unit tested
Submission & Review
Fork the coursework repo to your own GitHub account.
Make regular small commits with clear messages.
When you are ready, open a Pull Request to the CYF repo. Make sure you fill in the PR template provided.
A volunteer will review your submission and send you feedback.
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 1
- Forks
- 11
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CodeYourFuture/Module-Java
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐇 Size Small 📅 Sprint 1 Core
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 7 Core
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Sprint 7 - Challenge 1 Offen🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 📅 Sprint 7 🦑 Size Large Core
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
-
🎯 Topic Programming Fundamentals 🏕 Priority Mandatory 🐂 Size Medium 📅 Sprint 5 Core
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
Alle Issues in CodeYourFuture/Module-Java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
syfoud/Simulated_Scepter#172 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
crossplane/crossplane#7859 ·
-
bot:ai-assisted component:compact-js status:untriaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
midnightntwrk/midnight-sdk#403 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
nightscout/nocturne#1379 ·