Skip to content

Commit 83157ea

Browse files
Merge pull request #5 from microsoft/java-updates
Java updates
2 parents 9bddad2 + d5a70d8 commit 83157ea

6 files changed

Lines changed: 47 additions & 14 deletions

File tree

.vscode/extensions.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"bierner.markdown-mermaid",
55
"bierner.github-markdown-preview",
66
"github.copilot-chat",
7-
"mermaidchart.vscode-mermaid-chart",
87
"ms-vscode.copilot-mermaid-diagram",
98
"ms-vscode.vscode-websearchforcopilot"
109
]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Developers today agree that AI code assistant tools are useful for easy, repeata
4747
- C#
4848
- Java (Spring-boot)
4949
- Python
50-
- Typescript
50+
- Typescript (Angular - ready, React - coming soon)
5151

5252
### Software
5353

goals/java/1-setup.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ This framework integrates several powerful MCP (Model Context Protocol) tools to
55
- **Context7 MCP**: Provides live documentation and code snippet retrieval for authoritative technical references
66
- **Memory MCP**: Delivers persistent project memory, decision tracking, and knowledge graph capabilities
77
- **Sequential Thinking MCP**: Assists the LLM with ordering tasks, and breaking down complex ideas
8-
- **Microsoft.Learn MCP**: Give your LLM access to the entire Microsoft Learn knowledgebase!
98

109
Together, they transform GitHub Copilot into an intelligent development assistant that remembers project context, tracks architectural decisions, and maintains comprehensive project knowledge across sessions.
1110

goals/java/2-requirements.md

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## 🎯 Challenge Overview
44

5-
Your mission is to **design and document a new feature** for the PetClinic reference application. This challenge will teach you how to write comprehensive feature requirements that integrate seamlessly with the ConPort workflow and architectural patterns we've created.
5+
Your mission is to **design and document a new feature** for the PetClinic reference application. This challenge will teach you how to write comprehensive feature requirements that integrate seamlessly with the Spec-Driven workflow and architectural patterns we've created.
66

77
## 📋 What You'll Learn
88

@@ -17,20 +17,45 @@ Your mission is to **design and document a new feature** for the PetClinic refer
1717
Before you begin, familiarize yourself with the existing PetClinic architecture by reviewing:
1818

1919
- **AI Generated documentation**: `docs/*.md` - Project and Architecture documentation created by GitHub Copilot
20-
- **Current Services**: Identity, Catalog, Basket, Ordering, Webhooks, Mobile.BFF
21-
- **Technology Stack**: .NET 9, Aspire, PostgreSQL, Redis, RabbitMQ, Blazor
20+
- **Areas**: Models, Owner, Vet, and System namespaces, along with the resources folder templates
21+
- **Technology Stack**: Java 17, Spring Boot 3.5, Maven build. Thymeleaf View. Spring Data JPA with H2 database. Caffeine for caching. JUnit 5, and Spring Boot Test for unit testing.
2222

2323
## 🎲 Feature Ideas (Choose One or Create Your Own)
2424

2525
### 💡 **Beginner Level**
2626
- **Pet Profile**: Add the ability to upload a photo for a customer's pet
27+
- **Pet Age Calculator**: Take the birthday of the pet, and calculate the age of the pet on the profile view. Show intelligent age, such as "1 year", "3 months", "1 year, 6 months", etc.
28+
- **Visit Notes Enhancement**: Add rich text description field for visit notes with character counter
29+
- **Owner Email Field**: Add optional email field to owner contact information with validation
30+
- **Pet Weight Tracking**: Add weight field to pet profile with optional unit selection (lbs/kg)
31+
- **Visit Cost Display**: Add read-only cost field to visits for billing reference
32+
- **Vet Availability Status**: Add "Available/Busy" status indicator on vet list page
33+
- **Search Enhancement**: Add search by phone number on the find owners page
2734

2835
### 🔥 **Intermediate Level**
2936
- **Veterinarian Schedule**: Veterinarian appointment schedule view
3037
- **Loyalty Program**: Points-based rewards system with tier benefits
38+
- **Pet Medical History**: Comprehensive medical records with vaccination tracking and medication history
39+
- **Appointment Reminders**: Email reminder system for upcoming visits (24h, 1 week advance)
40+
- **Bulk Visit Operations**: Select multiple visits for batch operations (reschedule, cancel)
41+
- **Owner Dashboard**: Personalized dashboard showing pet health summaries and upcoming appointments
42+
- **Vet Specialization Search**: Filter and search veterinarians by their specialties
43+
- **Pet Care Instructions**: Post-visit care instructions with downloadable PDF generation
44+
- **Advanced Reporting**: Generate clinic reports (visit trends, revenue, popular services)
45+
- **Online Appointment Booking**: Public-facing booking system with available time slots
46+
- **Pet Boarding Services**: Track boarding stays with check-in/check-out and special care notes
47+
- **Emergency Contact System**: Multiple emergency contacts per owner with relationship types
48+
- **Treatment Plan Templates**: Reusable treatment protocols for common conditions
49+
3150

3251
### 🚀 **Advanced Level**
33-
- **Real-time Notifications**: Notify the customer using SMS when their next appointment is!
52+
- **Real-time Notifications**: Notify the customer using SMS when their next appointment is. Use Azure Communication Services to send yourself a SMS message when your appointment is less than 24 hours away.
53+
- **Microservice Architecture**: Split application into separate services (owners, appointments, billing) with API gateway
54+
- **Advanced Analytics Dashboard**: Business intelligence with charts, trends, and predictive analytics using Chart.js
55+
- **Multi-Tenant Clinic System**: Support multiple independent clinics with data isolation and custom branding
56+
- **Mobile App Integration**: REST API backend to support iOS/Android mobile applications
57+
- **AI-Powered Health Insights**: Integration with veterinary AI services for health recommendations and alerts
58+
- **Inventory Management**: Track medical supplies, medications, and equipment with low-stock alerts
3459

3560
### 🎨 **Your Own Idea**
3661
Create something unique that fits the veterinarian domain and showcases modern software engineering practices.

goals/typescript/1-setup.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ Together, they transform GitHub Copilot into an intelligent development assistan
1212
## 📋 Prerequisites
1313

1414
- **Node.js 16+** (for MCP tools)
15+
- **Node.js 14-16** for Angular App
1516
- **IDE** with GitHub Copilot[^1]
16-
- **Docker** is recommended, or you can use the devcontainer.
1717
- **Git** for version control
1818

1919
## 🛠️ Installation & Setup

goals/typescript/2-requirements.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,32 @@ Before you begin, familiarize yourself with the existing ngLibrary architecture
1818

1919
- **AI Generated documentation**: `docs/*.md` - Project and Architecture documentation created by GitHub Copilot
2020
- **Current Modules**: App, Books, Cart, Checkout, Layouts, Core
21-
- **Technology Stack**: Typescript 4, Angular 11
21+
- **Technology Stack**: Typescript 4, Angular 11, Node.js 14-16 compatible
2222

2323
## 🎲 Feature Ideas (Choose One or Create Your Own)
2424

2525
### 💡 **Beginner Level**
26-
- **Book Reviews & Ratings**: Allow customers to review and rate books
27-
- **Wishlist Management**: Save books for later checkout
28-
- **Book Recommendations**: "Customers who read this book this also read..."
26+
- **GoodReads Library Import**: Import a list of books from a GoodReads export to update the list of available books.
27+
- **Replace the OpenLibrary Data**: OpenLibrary.org has performance problems. Pull the images and use Azure Storage account (or local Azurite emulator) to server the book images instead.
28+
- **Add Series to book model**: Add the Series name to the book model to support multiple books in a series.
29+
- **Add book description to the book view**: Add the description of the book to the fly-out book view.
30+
2931

3032
### 🔥 **Intermediate Level**
31-
- **Inventory Management**: Real-time stock tracking with low-stock alerts
33+
- **Update App to Angular 20**: Update the application and dependencies to Angular 20
34+
- **Inventory Management**: Add a "Library admin" page to add / remove books from inventory.
3235
- **Advanced Search**: Faceted search with filters, sorting, and autocomplete
33-
- **Loyalty Program**: Points-based rewards system with tier benefits
36+
- **User Profile**: Allow users to sign up, using OAuth 2.0 integration. Track book check-outs against user profile.
37+
- **Integrate Hardcover API**: https://docs.hardcover.app/api/getting-started/ pull reviews, featured books, track user checkouts.
38+
- **Add Author model**: Create author model and refactor app to seperate Author in it's own data model
39+
- **Add Genre model**: Create Genre model and refactor app to seperate Genre in it's own data model
3440

3541
### 🚀 **Advanced Level**
42+
- **Migrate app to React 18+**: Convert the app to a React v18 app instead
3643
- **Real-time Notifications**: WebSocket-based book availability updates
44+
- **Native Mobile app**: Use Capacitor or a similar project to build a PWA mobile app to access the library.
45+
- **Book Reviews & Ratings**: Allow customers to review and rate books
46+
- **Book Recommendations**: "Customers who read this book this also read..." using AI to find similar books from the library. Have the AI generate a reason as to why they might like to read this book.
3747

3848
### 🎨 **Your Own Idea**
3949
Create something unique that fits the library management domain and showcases modern software engineering practices.

0 commit comments

Comments
 (0)