{"id":28368805,"url":"https://github.com/ecristobale/web-app-full-stack","last_synced_at":"2025-08-23T02:14:22.744Z","repository":{"id":38637733,"uuid":"228238581","full_name":"ecristobale/web-app-full-stack","owner":"ecristobale","description":"Spring 5: Spring Data JPA, Spring Security (OAuth2 \u0026 JWT, Spring Boot 2; Angular 8, Angular Material; Bootstrap 4; H2. Published in Heroku (backend) and in Google Firebase (frontend)","archived":false,"fork":false,"pushed_at":"2023-01-07T12:50:53.000Z","size":3399,"stargazers_count":14,"open_issues_count":28,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-21T09:42:09.970Z","etag":null,"topics":["angular-material","angular8","bootstrap","bootstrap-4","bootstrap4","firebase","firebase-hosting","full-stack","fullstack","git","heroku","spring","spring-boot-2","spring-data-jpa","spring-security-oauth2","springboot2","springdata-jpa","web-application"],"latest_commit_sha":null,"homepage":"https://clientes-app-ecristobale.web.app","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ecristobale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-15T19:23:42.000Z","updated_at":"2024-05-27T13:35:46.000Z","dependencies_parsed_at":"2023-02-07T05:01:51.556Z","dependency_job_id":null,"html_url":"https://github.com/ecristobale/web-app-full-stack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ecristobale/web-app-full-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecristobale%2Fweb-app-full-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecristobale%2Fweb-app-full-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecristobale%2Fweb-app-full-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecristobale%2Fweb-app-full-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecristobale","download_url":"https://codeload.github.com/ecristobale/web-app-full-stack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecristobale%2Fweb-app-full-stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271732360,"owners_count":24811309,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular-material","angular8","bootstrap","bootstrap-4","bootstrap4","firebase","firebase-hosting","full-stack","fullstack","git","heroku","spring","spring-boot-2","spring-data-jpa","spring-security-oauth2","springboot2","springdata-jpa","web-application"],"created_at":"2025-05-29T05:01:37.929Z","updated_at":"2025-08-23T02:14:22.728Z","avatar_url":"https://github.com/ecristobale.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# web-app-full-stack: Spring Boot 2 \u0026 Angular 8\n## Links for visiting webapp:\n- Google Firebase: https://clientes-app-ecristobale.web.app/clientes\n- Heroku (backend only): https://spring-boot-2clientes-app.herokuapp.com/\n\nMain page without login:\n![Alt text](web-app-screenshots/main_page.PNG?raw=true \"Main Page\")\n\nSome warnings indicating that the requested pages are in a restricted area:\n![Alt text](web-app-screenshots/area_restrictions_based_on_roles.PNG?raw=true \"Main Page\")\n\nLogin screen (ask me if you want me to share with you any user to see the whole application):\n![Alt text](web-app-screenshots/login_page.PNG?raw=true \"Login Page\")\n\nMain page with admin role:\n![Alt text](web-app-screenshots/admin_main_page.PNG?raw=true \"Main Page - Admin\")\n\nMain page with user role:\n![Alt text](web-app-screenshots/user_main_page.PNG?raw=true \"Main Page - User\")\n\nCreate new client with admin role (with form validation):\n![Alt text](web-app-screenshots/create_new_user_form_validation.PNG?raw=true \"New Client Page - Admin\")\n\nUpdate client with admin role (with form validation):\n![Alt text](web-app-screenshots/update_user_form.PNG?raw=true \"Update Client Page - Admin\")\n\nCreate new invoice with admin role (with form validation and autocomplete in product name):\n![Alt text](web-app-screenshots/admin_form_new_invoice_validating_fields_autocomplete_product.PNG?raw=true \"New Invoice Page - Admin\")\n\nClient details with admin role:\n![Alt text](web-app-screenshots/admin_client_details.PNG?raw=true \"Client Details Page - Admin\")\n\nClient details upload an image (with progress bar animation) with admin role:\n![Alt text](web-app-screenshots/admin_client_photo_uploaded_with_progress_bar.PNG?raw=true \"Client Details Upload An Image Page - Admin\")\n\nClient details with user role:\n![Alt text](web-app-screenshots/user_client_details.PNG?raw=true \"Client Details Page - User\")\n\nInvoice details with admin role:\n![Alt text](web-app-screenshots/invoice_detail.PNG?raw=true \"Invoice Details Page - Admin\")\n\nInvoice details with user role:\n![Alt text](web-app-screenshots/user_invoice_detail.PNG?raw=true \"Invoice Details Page - Admin\")\n\nLogout action:\n![Alt text](web-app-screenshots/Logout_action.PNG?raw=true \"Logout Page\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecristobale%2Fweb-app-full-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecristobale%2Fweb-app-full-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecristobale%2Fweb-app-full-stack/lists"}