This application provides comprehensive functionality related to cookbooks, fulfilling various user stories.
- User-Friendly Interface: Animation on startup, personalized login, and easy access to favorite recipes.
- Comprehensive Recipe Search: Search by name, ingredients, or tags.
- Recipe Management: Create, view, and manage recipes with detailed formatting.
- Weekly Dinner & Shopping Lists: Generate and modify lists, add dishes, and create multiple weekly plans.
- Social Features: Share recipes with messages, comment on recipes, and manage tags.
- Admin Capabilities: Manage users, including adding, editing, and deleting users.
- Completed: June 2024
.idea/
.vscode/
app/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── cookbook/
│ │ │ │ ├── controller/
│ │ │ │ ├── model/
│ │ │ │ ├── repository/
│ └── resources/
└── build.gradle
config.properties
gradlew
settings.gradle
This project was developed under specific constraints dictated by the course, which required the use of JavaFX for frontend development, Java for backend, and MySQL for database management, without the use of additional libraries or frameworks. These constraints pushed us to deepen our understanding of core technologies and apply creative solutions to meet project requirements.
Through this experience, we significantly enhanced our development skills, especially in areas like manual dependency management, optimizing performance without external libraries, and implementing complex features within the limitations of the tools provided. This project allowed us to see the development process from a new perspective, focusing on the fundamentals of software design and architecture.
- Method: Collective decision-making with logical evaluation.
- Outcome: Balanced solutions and adaptability throughout the project.
- Initial Issues: Miscommunication and role ambiguity.
- Resolutions: Clear task assignments and improved communication.
- Technical Growth: Enhanced backend development skills.
- Team Dynamics: Importance of clear communication and task delegation.
- Positive Aspects: Intensive collaboration with balanced team roles.
- Improvements Needed: Overcame initial communication issues with structured task assignments.
- Iteration: Regular reviews and feedback loops.
- Challenges Overcome: Resolved speed optimization, automatic updates, and custom tag issues.
- Exceeded Expectations: Added features like multi-threading, dark mode, and recipe photos.
- Flexibility: Successfully adapted and completed all planned features.
Jimin:
- Focus Areas: Backend development, tag management, and database integration.
- Key Contributions: Led the implementation of custom tag features, handled MySQL integration, and contributed significantly to backend logic.
Lucas:
- Focus Areas: Frontend development, including FXML layouts and animations.
- Key Contributions: Also contributed to backend development, especially in implementing admin functions.
Bastian:
- Focus Areas: Scrum master duties and backend development.
- Key Contributions: Managed multi-threading, search functionalities, user authentication, and shopping list features.
Nina:
- Focus Areas: Database development, including MySQL table, procedure, and view management.
- Key Contributions: Ensured data consistency and efficient database operations.