|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/angular-ve-spring-boot-ile-full-stack-uygulama-gelistirme/
课程评论:没有评论
课程名称:使用Angular和Spring Boot进行全栈应用开发 概述:本文课程将指导学员创建一个在线书籍购物项目。该项目将包含一个书籍列表页面,用户可以查看并购买书籍,所有购买记录将被存储并且可供后续查看。整个应用将在Spring Boot、Angular和PostgreSQL的支持下实现,并涉及CRUD(创建、读取、更新、删除)操作。用户和书籍的管理将通过CRUD操作来实现,例如用户的注册、登录、授权及书籍的创建、编辑和删除等。为确保操作的安全性,将使用Spring Security和JWT。 项目的后端将使用Spring Boot,构建MVC架构,并通过Spring Rest Controller公开API以供客户端访问。数据库方面我们将使用PostgreSQL,因为它在Heroku上是免费的,并且便于与Java Persistence API和Hibernate集成,实现对象关系映射(ORM)。此外,课程中还将介绍如何使用Lombok库简化代码编写,并使用Gradle进行项目依赖管理,提升配置的简便性和性能。 在客户端,我们将基于Angular框架构建一个包含首页、管理面板、登录和注册页面的用户界面。通过后端提供的数据,构建一个用户友好的界面。同时,在项目中会运用最佳实践和MVC架构,以及TypeScript等额外功能。 课程末尾,学员将完成项目的构建,并在Heroku上进行部署,最终实现一个可在线访问的应用,同时也会通过项目来深入了解安全性和权限管理的实现。
Merhaba arkadaşlar,Bu kursumuzda online-kitap-alışveriş gibi yeni bir proje oluşturacağız.Online-kitap-alışveriş uygulaması dediğimde, bir kitap listesi sayfamız olacak gibi düşünebiliriz. Bir şekilde kullanıcılar veya müşteriler bu kitap listelerini görecek ve bunlardan birini veya birkaçını satın alabilecekler. Tabii ki, sonunda bu satın alma saklanacak ve daha sonra ihtiyaç duyulunca görüntülenebilecektir.Bu projeyi Spring Boot, Angular ve PostgreSQL kullanarak uygulayacağız.Projemizde CRUD işlemlerini uygulayacağız. Bu CRUD işlemlerini kullanıcılar ve kitaplar için uygulayacağız. Oturum açma, kaydolma ve yetkilendirme işlemleri için kullanıcı CRUD işlemlerini kullanacağız. Kitap oluşturma, düzenleme, silme işlemleri için de kitap CRUD işlemlerini kullanacağız.Bu CRUD işlemleri Angular tarafından sorgulanacaktır. Yani backend'de bu CRUD işlemleri için bir altyapı oluşturacağız ve frontend de onlara kullanıcı arayüzü ile hizmet vereceğiz.Kullanıcı ve kitap işlemleri ile uygulamamızı oluşturucağız.Ana operasyonlarımız kullanıcı girişi, kayıt, kitap listesi, kitap oluştur, kitap sil vb. olacak.Ayrıca rol bazlı uygulama ile devam edeceğiz. Bu yüzden "admin", "user" gibi farklı roller kullanacağız. Daha sonra bu kullanıcılara role göre farklı yetkiler vereceğiz.Ve tüm bunları hem Angular hem de Spring Boot'da güvenli bir şekilde sağlayacağız.Projemizi uygulamak için iki ana bileşenimiz olacak.Bunlar sunucu tarafı ve istemci tarafı olacak.Sunucu Tarafında:Ana kütüphanemiz Spring-boot olacak. Spring boot ile tüm altyapıyı backend üzerinde uygulayacağız. Spring-boot bize kolay ve hızlı konfigürasyon sağlayacak.Spring boot ile model view controller mimarisini projemizde uygulayacağız.Bir diğer önemli başlığımız Spring security olacak. Spring security'nin yanında JWT'de kullanıp projemizde güvenliği sağlayacağız.Spring Boot'da, Veriler istemciye bir API çağrısı olarak sunulacak ve bunun için Spring Rest Controller'u kullanacağız.Veritabanı olarak PostgreSQL kullanacağız. Diğer veritabanlarını da kullanabiliriz ama kursun sonunda kodlarımızı Heroku'ya dağıtacağız. Postgresql, Heroku'da ücretsiz olarak kullanılabilir, bu yüzden postgresql'i kullanacağız.Java Persistence API ve Hibernate ile Nesne İlişkisel Eşlemeyi (ORM) de kullanacağız.Hibernate ile veritabanı tablolarımızı kolayca nesnelere eşleştirebiliriz.Spring Boot'da JPA Repository ve Crud Repository kullanacağız.Bu repository şablonlarını kullanarak; kaydetme, güncelleme, bulma, silme gibi genel veritabanı işlemlerini kolayca uylayacağız.Getter, setter gibi methodları sürekli sürekli tekrar yazmak istemiyoruz. Bunun için Lombok kütüphanesi kullacağız. Lombok kütüphanesi bunlar için temel anotasyonlar sağlar bunları kullarak bu kodlardan kurtulmuş olacağız.Servisimizin tüm bağımlılıklarını ele almak için Gradle kullanacağız. Burada, neden maven ile devam etmiyoruz diye sorabilirsiniz.Çünkü Gradle, Maven'a göre daha kolay bir konfigürasyon ve daha hızlı bir performans sağlar. Bundan dolayı projemizde gradle ile devam edeceğiz.Tüm projelemiz için Heroku ile cloud deployment sağlayacağız. Heroku'da kolayca ücretsiz uygulamalar oluşturabiliriz. Spring-boot projelerimizi bazı konfigürasyonlarla github üzerinden kolayca dağıtabiliriz. Yani bu sayede kursun sonunda production'da canlı bir uygulamamız olacak ve github üzerinde herkesin ulaşabileceği bir kodumuz olacak.Sunucu tarafı ile ilgili söyleyeceklerim bu kadar.Biraz da client/istemci Tarafından bahsedelim.İstemci tarafında angular frameworkü kullanarak bir uygulama oluşturacağız. Uygulamamızda online-book-shopping sisteminin arayüzünü oluşturacağız. Ara yüzümüz bir ana sayfa, yönetici panosu, giriş sayfası ve kayıt sayfası gibi bazı sayfalardan oluşacak. Bu sayfalardaki verileri backend'in bize sağlamış olduğu verilerle dolduracağız. Böylelikle verilere kolayca ve user-friendly olarak erişebileceğiniz.Angular projemizi oluştururken elbetteki best-practiceleri kullnarak oluşturcağız. Bunun model-view-controller mimarisini uygulayacağız. Bunun yanında Typescript vb. Extra özellikler kullacağız.Kursun sonunda projemizi build edip heroku'da deploy edeceğiz. Böylelikle kursun sonunda canlıda olan bir uygulamamız olacak.Son olarak, güvenlik ve yetkilendirmeyi angular üzerinde de uygulayacağız. Farklı rollerle çalışacağız ve bu rollere göre yetkisiz ve bilinmeyen sayfaları kullanıcı arayüzünde de uygulayacağız.Bunların detaylarını tek tek göreceğiz.