GrubGoblin is a full-stack web application under development, designed to empower users to discover and manage delicious food deals. This project showcases a robust architecture utilizing modern web technologies.
- Backend: Leverages a RESTful API built with Spring Boot for efficient data management.
- Database: Employs PostgreSQL, a relational database, for secure and scalable data storage of food deals, user information, location information, and reviews.
- Model-View-Controller (MVC): Implements the MVC design pattern to ensure clean separation of concerns and maintainability between the data (Model), presentation (View), and user interaction (Controller) layers of the application.
- Authentication: Enforces secure user access with robust authentication mechanisms, ensuring only authorized users can access and manage their data.
- CRUD Operations: Provides a comprehensive API for creating, retrieving, updating, and deleting deals (CRUD) using the RESTful approach.
- Advanced Search: Empowers users to search for deals by day, type (food, drinks, etc.), location, rating (including top-rated), and reviews.
- Review System: Allows users to leave reviews on deals, fostering a collaborative community around food exploration.
- Early Stage Google Maps Integration: Utilizes the Google Maps API to convert addresses to latitude and longitude coordinates, laying the groundwork for future location-based features.
- Comprehensive API Documentation: GrubGoblin provides detailed API documentation, outlining all available endpoints and their functionalities related to deal management, user authentication, reviews, etc.
- Frontend Development: A full-featured frontend will be built with HTML, CSS, JavaScript, and Vue.js, culminating in a Progressive Web App (PWA) for an exceptional user experience on mobile and desktop.
- Social Sharing: An integrated social aspect will allow users to share their favorite deals with neighbors, fostering community and restaurant discovery.
- Location-Based Search: Leveraging Google Maps integration, users can discover nearby deals based on their current location.
- API Documentation: JSON | Live via Postman Documenter
- JavaDoc Documentation JavaDoc Folder | Live via Github Pages
- Functional Requirements
Please report any bugs or issues you encounter. Please submit them through the GitHub issue tracker for this project.