🖥 CRUD Angular + Spring demonstrating Has-Many relationship, including tests for the back-end and front-end

Overview

REST API with Spring Boot and Angular

CRUD Angular + Spring demonstrating Has-Many relationship, with tests.

💻 Tecnologies

  • Java 17
  • Spring Boot 3
  • JPA + Hibernate
  • JUnit 5 + Mockito (back-end tests)
  • Maven
  • Angular v14
  • Angular Material
  • Karma + Jasmine (front-end tests)

⌨️ Editor / IDE

  • Visual Studio Code
  • Java Extensions link
  • Angular Extensions link

Some functionalies available in the API

  • Java model class with validation
  • JPA repository
  • JPA Pagination
  • Controller, Service and Repository layers
  • Has-Many relationship (Course-Lessons)
  • Swagger
  • Java 17 Records as DTO (Data Transfer Object)
  • Hibernate / Jakarta Validation
  • Unit tests for all layers (repository, service, controller)

Some functionalies available in the Front-end

  • Angular Material components
  • List of all courses
  • Form to update/create courses with lessons (has-many - FormArray)
  • View only screen
  • TypedForms (Angular v14+)
  • Presentational x Smart Components
  • Unit and Integration tests for components, services, pipes, guards

❗️ Excuting the code locally

Executing the back-end

You need to have Java and Maven installed and configured locally.

Open the crud-spring project in your favorite IDE as a Maven project and execute it as Spring Boot application.

Executing the front-end

You need to have Node.js / NPM installed locally.

  1. Install all the required depencencies:
npm install
  1. Execute the project:
npm run start

This command will run the Angular project with a proxy to the Java server, without requiring CORS.

Open your browser and access http://localhost:4200 (Angular default port).

You might also like...

Customer relationship management (CRM)

Customer relationship management (CRM)

CRM Customer Relationship Management with CRUD Operations Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About The Proj

Dec 15, 2022

A Zombie invasion has occurred at the Code Academy Campus and now Alcatrinha has to fight the zombies to death! (2D TopView Shooter)

A Zombie invasion has occurred at the Code Academy Campus and now Alcatrinha has to fight the zombies to death! (2D TopView Shooter)

Hello everyone, welcome to Zombie ACADalypse!! A Zombie invasion has occurred at the Code Academy Campus and now Alcatrinha has to fight the zombies t

Dec 17, 2021

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Nov 27, 2022

Spring Boot JdbcTemplate example with SQL Server: CRUD Rest API using Spring Data JDBC, Spring Web MVC

Spring Boot JdbcTemplate example with SQL Server: Build CRUD Rest API Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRU

Dec 20, 2022

A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular.

GeekStore A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular. Headless means GeekStore only focus on the backend,

Jul 27, 2022

Back end da plataforma KdMeuBichinho que surgiu com a missão de ajudar as pessoas que querem encontrar seu melhor amigo 🐶 🐱 🐰 que foi perdido ou encontrar alguém que está doando.

Back end da plataforma KdMeuBichinho que surgiu com a missão de ajudar as pessoas que querem encontrar seu melhor amigo 🐶 🐱 🐰 que foi perdido ou encontrar alguém que está doando.

🚧 Kd meu bichinho? A plataforna ainda se encontra em fase de construção ✔️ 🚧 💻 Sobre o projeto KdMeuBichinho? - O projeto surgiu com a missão de aj

Dec 2, 2022

Back-End/API de uma aplicação web de agendamento desenvolvida durante o Hackaton do Programa de Formação do Grupo Fcamara

🖥️ Sobre o projeto 📅 Agenda Laranja - é um meio prático e eficiente para programar o dia do trabalho presencial, respeitando as normas de segurança.

Sep 17, 2021

Repositório para desenvolvimento da camada de back-end da aplicação

Projeto Integrador - Back-end 🚀 Começando Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fin

Jun 2, 2022

Back-End da rede social AdaTech para Projeto Integrador da Generation Brasil

Back-End da rede social AdaTech para Projeto Integrador da Generation Brasil

Back-End da rede social AdaTech para Projeto Integrador da Generation Brasil

Apr 18, 2022
Comments
  • Bump json5 from 2.2.1 to 2.2.3 in /crud-angular

    Bump json5 from 2.2.1 to 2.2.3 in /crud-angular

    Bumps json5 from 2.2.1 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
Owner
Loiane Groner
Software Engineer. Published author (PacktPub). Tech articles (loiane.com) and video courses (loiane.training).
Loiane Groner
Portal system based on front and back end separation built by ruoyi separation version

Keington-Portal-Separate English 中文 Introduction Keington Portal Separate is an official website portal system built by Keington Information Technolog

许怀安 1 Jan 30, 2022
Spring JPA Many To Many example with Hibernate and Spring Boot CRUD Rest API - ManyToMany annotation

Spring JPA Many To Many example with Hibernate and Spring Boot CRUD Rest API - ManyToMany annotation

null 17 Dec 28, 2022
This project contains many sample codes for demonstrating the usage of some common design patterns.

STUDY COMMON DESIGN PATTERNS 1. About this project This project contains many sample codes for demonstrating the usage of the following design pattern

Võ Trần Minh Quân 21 Jan 2, 2023
A libre lightweight streaming front-end for Android.

NewPipe A libre lightweight streaming frontend for Android. Screenshots • Description • Features • Installation and updates • Contribution • Donate •

Team NewPipe 22.4k Jan 3, 2023
Student management system with sql database,Jsp & Java (Front end with HTML & CSS)

studentmanagementsystem Student management system with sql database,Jsp & Java (Front end with HTML & CSS) what this basically is that it integrates t

Isaac 7 Oct 3, 2022
UMS is a CRUD based management system which uses File Handling to manipulate data and perform the CRUD operations

UMS is a CRUD (Create, Read, Update, Delete) based management system which uses File Handling to manipulate data and perform the CRUD operations. It is a group project made using Java procedural programming having both User and Admin sides.

Daoud-Hussain 9 Dec 20, 2022
Spring Boot Debezium Kafka PostgreSQL Relationship

spring-boot-debezium-db-kafka Spring-Boot-Debezium-Kafka-PostgreSQL Relationship Installation First,Configure docker-compose.yml Second,Write Db-Kafka

null 2 Aug 26, 2022
E-Commerce Spring Boot Back-end

E-Commerce Technologies used in the construction of the project Spring Boot H2 Databse Hibernate Spring Data Lombok JUnit Some available services On t

Baris Seckin 7 Dec 24, 2022
Colore (Back-End JAVA + Spring Boot)

Colore (Back-End JAVA + Spring Boot) A iniciativa do Projeto COLORE pretende promover igualdade e respeito, sobretudo no que tange o processo de inclu

Juliana Mesquita 2 Sep 3, 2022
Cosmic Ink is a transcript application which was built with the help of Symbl AI and At Sign platform for back-end to store our data and authenticate

Cosmic-Ink Cosmic Ink is a transcript application which was built with the help of Symbl AI and At Sign platform for back-end to store our data and au

Venu Sai Madisetti 4 Dec 1, 2022