https://github.com/jorgelright34/groceries-planner
Plan your groceries, app built with Angular (frontend) and .NET (backend) with SQL Server as database. Create a grocery list for each day of the week, grouped by category , each grocery can have its own photo, url, description, costs and more. Have a receipt list for the entire weekly plan. Collaborate with others to plan together.
https://github.com/jorgelright34/groceries-planner
angular bootstrap csharp net sqlserver typescript
Last synced: 3 months ago
JSON representation
Plan your groceries, app built with Angular (frontend) and .NET (backend) with SQL Server as database. Create a grocery list for each day of the week, grouped by category , each grocery can have its own photo, url, description, costs and more. Have a receipt list for the entire weekly plan. Collaborate with others to plan together.
- Host: GitHub
- URL: https://github.com/jorgelright34/groceries-planner
- Owner: JorgelRight34
- Created: 2025-02-19T01:44:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-06T17:58:31.000Z (over 1 year ago)
- Last Synced: 2025-04-06T18:35:53.092Z (over 1 year ago)
- Topics: angular, bootstrap, csharp, net, sqlserver, typescript
- Language: C#
- Homepage: https://jorgelorenzom.vercel.app/project/groceries-planner
- Size: 17.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
##### Authentication

- Secure authentication implementation with **Google OAuth 2.0**, using token-based authorization flow to validate the user's identity without storing sensitive credentials in the backend.
- User data such as email, name, and profile picture are extracted and processed in the **ASP.NET Core** backend, ensuring fast and secure access to the platform.
- Integration with Google's identity service to verify email authenticity and enhance security through the use of **JWT (JSON Web Token)** and custom claims.
- Integration of Identity for user and role management.
##### Export to PDF

- Dynamic generation of **PDF** documents for the shopping list, organized by days and categories, optimizing user experience.
- Implementation of **OpenHTMLToPDF** for HTML-to-PDF conversion with custom styles and rendering optimization.
- The backend, developed in **ASP.NET Core**, receives a request from the frontend to export the list to PDF. It uses a specialized service, `ViewRenderer`, which utilizes **ICompositeViewEngine** to render Razor HTML templates and generate structured content.
- Use of **Razor Templates** to dynamically define the structure and styles of the PDF, ensuring compatibility and flexibility in design.
##### Share List

- Implementation of a **sharing feature with unique links**, generated with secure unique identifiers (UUID), allowing real-time collaboration.
##### Add Groceries

- Advanced grocery creation form, with real-time validation and user experience improvements using **ReactiveFormsModule** from Angular.
- Ability to add custom products with name, description, image, link, and category, ensuring flexibility in managing the shopping list.

- Editing and deleting products with visual confirmations, ensuring better user interaction.

- Optimized data persistence with **Entity Framework Core** in the backend, ensuring secure and efficient transactions.
##### Lists for Every Occasion

- Creation and management of multiple categorized shopping lists for different events or needs.


##### Receipt

- Automatic generation of a detailed receipt with breakdown of costs for each product and total amount.
- Advanced currency formatting and number presentation using Angular's currency pipe from CommonModule on the frontend to enhance clarity of the information.
This project is developed with an architecture based on **Angular 19 on the frontend and ASP.NET Core on the backend**, ensuring scalability, performance, and enterprise-level maintainability.