DEV Community

loading...

Django Angular MySQL CRUD Example

ozenero profile image ozenero.com ・4 min read

Django Angular MySQL CRUD Example

https://loizenai.com/django-angular-mysql-crud-example/

Django Angular MySQL CRUD Example

” Tutorial: Django Angular MySQL CRUD Example – Fullstack: Angular + Django Rest Framework + MySQL. ”

Django is a Python-based free and open-source web framework that follows the model-template-view architectural pattern. Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google. In the tutorial, I introduce how to build a Angular Django CRUD RestAPIs Fullstack Project with POST/GET/PUT/DELETE requests using Django Rest Framework and MySQL database with step by step coding examples.

Architecture – Django Angular CRUD Example

Here is an overview of Architecture Design for Django Angular CRUD Example with Django Rest Framework and MySQL:

Overall Architecture – Angular Django RestAPIs FullStack Integration

  • We build the backend Python Django Application that provides RestAPIs for POST/GET/PUT/DELETE Customer entities and store them in MySQL/PostgreSQL database.
  • We implement the Angular CRUD Application that uses Angular HTTPClient to interact (call/receive requests) with Django backend’s RestAPIs and display corresponding page views in Browser

Django RestAPIs CRUD MySQL Workflow – Django Angular MySQL CRUD Example

  • Django Application interacts with MySQL/PostgreSQL database via Model layers.
  • The Views are simply Python functions that take web requests and return web responses.
  • URLs are used to mapping each request with the corresponding views.

Django RestAPIs Workflow Architecture

Django RestAPI CRUD Project Structure – Django Angular MySQL CRUD Example

Django Project Structure

The Django RestAPIs project includes 2 folders:

  • djangoLoiZenAiRestAPIs is a main project folder
  • customers is an application folder

Angular Frontend Architecture – Django Angular MySQL CRUD Example

Angular Frontend Architecture – Django Angular MySQL CRUD Example

Angular CRUD Application is designed with 3 main layers:

  • Service Layer is used to define Angular Common Services and HttpClient Services to interact with RestAPIs
  • Component Layer is used to define Angular Components to show views in Browser for interacting with Users
  • Router Layer is used to route URLs mapping with the corresponding Angular Components

Angular CRUD Project Structure – Django Angular MySQL CRUD Example

Angular Project Structure

Angular CRUD Application defines 3 components, 2 services, 1 routers, and 2 data models:

– Components:

add-customer component is used to add a new customer to system
list-customer component is used to show all customers on view pages, delete a customer and update a customer
message component is used to define a view to show logging message on browser
– Services:

customer.service.ts defines POST/GET/PUT/DELETE HTTP requests to Django RestAPIs with the built-in Angular HttpClient.
message.service.ts defines an array storage to log all messages when Angular CRUD App running
– Router: app-routing.module.ts defines how to map a corresponding Angular component with an URL.

– Models:

customer.ts defines the main data model of our application.
message.ts defines the response data model between Django RestAPIs and Angular application.

Angular Django MySQL Example – Project Goal – Django Angular MySQL CRUD Example

Here is a list of goals for Angular Django CRUD Example with Django Rest Framework and MySQL database:

– Add a Customer Entities from Angular Client:

Goal 1 – Add a Customer Entity

– List All Customer’s entities:

Goal 2 – List All Customer’s entities from Angular Client

– Details a Customer:

Goal 3 – Angular shows details of a Customer entity

– Update a Customer:

Goal 4 – Angular update a Customer Entity

– Delete a Customer:

Goal 5 – Angular Client delete a Customer entity

Tutorial

Angular Django MySQL CRUD EXampple

Related posts

Youtube

Discussion (0)

pic
Editor guide