Geekific
Geekific
  • 186
  • 2 517 446
Database Migration with Flyway, SpringBoot and PostgreSQL | Clean Code | Geekific
Support us on Patreon: www.patreon.com/Geekific
GitHub Repository: github.com/geekific-official/geekific-youtube/
Stay updated on our videos by subscribing to the channel and hitting the like button!
In the previous video of this series, we redesigned our initial SpringBoot project to follow more of a clean architecture mentality and abstracted all database access into a single interface which decoupled storage options and allowed us to select different implementations based on a certain configuration. In this video, we add a new implementation to our database options. This implementation will make use of a Postgres database which we will cover in detail.
PostgreSQL Official download site: www.postgresql.org/download/
Timestamps:
00:00 Introduction
00:09 PostgreSQL and Flyway Integration
01:36 DB Migrations
04:00 Testing our Code
04:24 Thanks for Watching!
If you found this video helpful, check other Geekific uploads:
- Object-Oriented Programming Fundamentals: ua-cam.com/video/Vfk6sExu8-4/v-deo.html
- SOLID Principles and Best Practices: ua-cam.com/video/HoA6aZPR5K0/v-deo.html
- Recursion Made Simple, Recursive Methods: ua-cam.com/video/r8KJ2AJWkHs/v-deo.html
- Use-Case and Sequence Diagrams: ua-cam.com/video/el501qi0KtI/v-deo.html
- Introduction to Dynamic Programming: ua-cam.com/video/IjpoE28Ii34/v-deo.html
- Trees Compared and Visualized, BST vs AVL vs RedBlack vs Splay vs Heaps: ua-cam.com/video/hmSFuM2Tglw/v-deo.html
- Generics and Wildcards in Java, Invariance vs Covariance vs Contravariance: ua-cam.com/video/FXAUXvPNKi8/v-deo.html
- Two Sum Problem, from Brute Force to Optimal: ua-cam.com/video/mQYABctoZ3E/v-deo.html
- What is a Thread? (Process, Program, Parallelism, Scheduler Explained): ua-cam.com/video/hN2Yrf4tqTY/v-deo.html
- Domain-Driven Design Made Simple: ua-cam.com/video/H5--9pMmuK4/v-deo.html
- Clean Architecture with Spring Boot and Java, Part 1: ua-cam.com/video/pv-qFt69Bng/v-deo.html
#Geekific #CleanArchitecture #SpringBoot #BestPractices #CleanCode #DDD
Переглядів: 180

Відео

System Design Concepts: Part 3 | Network Protocols, Proxies, Performance & Queues | Geekific
Переглядів 79314 днів тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In this last introductory system design interview video, we are going to cover several terminologies and concepts. It is important to have a basic understanding of these topics as they might be men...
Meeting Rooms | Premium LeetCode Problems | Geekific
Переглядів 35421 день тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In this video we tackle both Meeting Rooms Premium LeetCode problems. This problem presents an opportunity to enhance various skills crucial for software development interviews. It focuses on inter...
Docker Compose with SpringBoot and PostgreSQL | Geekific
Переглядів 51628 днів тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous videos of this series, we took the application we created in our SpringBoot series, wrapped it inside a docker container, and then accessed that web application from a browser runni...
System Design Concepts: Part 2 | Databases & Caching | Geekific
Переглядів 905Місяць тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! Throughout this series, we’ve tackled multiple LeetCode problems, and attempted to explain most of the concepts and approaches needed to solve them. In addition to this we covered behavioral interv...
What are System Design Interviews? | System Design Concepts: Part 1 | Geekific
Переглядів 1 тис.Місяць тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! Throughout this series, we’ve tackled multiple LeetCode problems, and attempted to explain most of the concepts and approaches needed to solve them. In addition to this we covered behavioral interv...
Move Zeroes | evolve from brute-force to optimal | LeetCode | Geekific
Переглядів 5212 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In this video we solve the Move Zeroes LeetCode problem by starting with the brute force approach and building our way up to the optimal one. LeetCode Problems solved in this video: - leetcode.com/...
Clean Architecture with SpringBoot and Java | Better Approach | Best Practices | Geekific
Переглядів 2 тис.2 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous video of this series, we redesigned our initial SpringBoot project to follow more of a clean architecture mentality. And the main idea we focused on was the isolation of the busines...
BFS vs DFS in Coding Interviews | Shortest Path to Target | Geekific
Переглядів 4492 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous video of this series, we tackled matrices traversal, and saw how by traversing the cells of a given matrix in a DFS manner we can count the number of components in that matrix. But ...
Connected Components in Coding Interviews | Number of Provinces | Number of Islands | Geekific
Переглядів 2702 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! It goes without saying that Graphs are one hot topic that you will most likely be asked about during coding interviews. In one of our very first graph introductory videos, we explained what compone...
Containerizing our Spring Boot Application with Docker | Geekific
Переглядів 7043 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous videos of this series, we introduced Docker containers, images, and learned how to create our own image using a Dockerfile. In this video, we’re going to take the SpringBoot applica...
First Missing Positive in Java | Hard Coding Interview Question | Geekific
Переглядів 6913 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! Practice Makes Perfect. And that is exactly what this series is about. Therefore, in this video we further practice coding interview questions and attempt to solve a couple new LeetCode problems, n...
Responding to Behavioral Interview Questions Using STAR Method as a Software Developer | Geekific
Переглядів 6253 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous video of this series, we discussed the STAR method, and mentioned that STAR stands for Situation, Task, Action, and Result. This method is a popular interviewing technique used to a...
Clean Architecture with Spring Boot and Java | Geekific
Переглядів 4,9 тис.3 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous videos of this series, we started by creating our first SpringBoot project and mentioned that if we’re developing a long-term application, our environment might change. Clean Archit...
Next Greater Element I & II | Monotonic Stacks | Multiple Java Solutions | Geekific
Переглядів 4454 місяці тому
Support us on Patreon: www.patreon.com/Geekific GitHub Repository: github.com/geekific-official/geekific-youtube/ Stay updated on our videos by subscribing to the channel and hitting the like button! In the previous video of this series we introduced monotonic stacks, and towards the end of that video, we crafted a template that can be used to solve any similar problem. In this video we dive de...
Introduction to Monotonic Stacks | Daily Temperatures LeetCode in Java | Geekific
Переглядів 6714 місяці тому
Introduction to Monotonic Stacks | Daily Temperatures LeetCode in Java | Geekific
Model-Driven Design Made Simple 2 | Building Blocks of MDD | Model-Driven Architecture | Geekific
Переглядів 1,1 тис.4 місяці тому
Model-Driven Design Made Simple 2 | Building Blocks of MDD | Model-Driven Architecture | Geekific
Model-Driven Design Made Simple 1 | Model-Driven Architecture | MDA | Geekific
Переглядів 2 тис.5 місяців тому
Model-Driven Design Made Simple 1 | Model-Driven Architecture | MDA | Geekific
House Robber I & II LeetCode Problem | Evolve from Recursion to Dynamic Programming | Geekific
Переглядів 3415 місяців тому
House Robber I & II LeetCode Problem | Evolve from Recursion to Dynamic Programming | Geekific
Kth Largest Element in Array | Kth Largest Element in Stream | Priority Queue | Heaps | Geekific
Переглядів 4265 місяців тому
Kth Largest Element in Array | Kth Largest Element in Stream | Priority Queue | Heaps | Geekific
Building Custom Docker Images | Dockerfile Explained | Geekific
Переглядів 7686 місяців тому
Building Custom Docker Images | Dockerfile Explained | Geekific
Coin Change Problem II | Number of Ways to Produce Amount | Dynamic Programming | Geekific
Переглядів 1,2 тис.6 місяців тому
Coin Change Problem II | Number of Ways to Produce Amount | Dynamic Programming | Geekific
Coin Change Problem | Minimum Number of Coins | Dynamic Programming | Geekific
Переглядів 4,2 тис.6 місяців тому
Coin Change Problem | Minimum Number of Coins | Dynamic Programming | Geekific
Enable and Use SpringBoot Actuator | Monitor your Spring Boot Application | Geekific
Переглядів 1,1 тис.6 місяців тому
Enable and Use SpringBoot Actuator | Monitor your Spring Boot Application | Geekific
Prepare for a Behavioral Interview | STAR Interview for Developers | Geekific
Переглядів 8716 місяців тому
Prepare for a Behavioral Interview | STAR Interview for Developers | Geekific
Subsets I & II Java Multiple Solutions | Backtracking | Subsets vs Combinations | Geekific
Переглядів 4107 місяців тому
Subsets I & II Java Multiple Solutions | Backtracking | Subsets vs Combinations | Geekific
The Dining Philosophers Problem with Java Solution | Deadlocks vs Race Conditions | Geekific
Переглядів 2,9 тис.7 місяців тому
The Dining Philosophers Problem with Java Solution | Deadlocks vs Race Conditions | Geekific
Permutations and Combinations Explained and Implemented | Backtracking | Geekific
Переглядів 7337 місяців тому
Permutations and Combinations Explained and Implemented | Backtracking | Geekific
Introduction to Backtracking | Backtracking Coding Template | Geekific
Переглядів 1,4 тис.7 місяців тому
Introduction to Backtracking | Backtracking Coding Template | Geekific
Docker Containers Lifecycle | create, start, run, stop and kill a container | Geekific
Переглядів 6108 місяців тому
Docker Containers Lifecycle | create, start, run, stop and kill a container | Geekific

КОМЕНТАРІ

  • @unanimous8510
    @unanimous8510 Годину тому

    Very nice!

  • @aldolunabueno2634
    @aldolunabueno2634 День тому

    4:25 The UML diagram is missing the has-a relationship from Composite class to Component internface.

  • @angelschmal
    @angelschmal День тому

    This is just an amazing tutorial

  • @code4logics
    @code4logics 2 дні тому

    you are super awesome

  • @me-wi8vf
    @me-wi8vf 3 дні тому

    Wonderful and no other words I have to explain my thanks and gratitude for tour hard work brother. EXCELLENT - 1) materials, 2) way of teaching, 3) Presentation, 4) Attitude, 5) Command over concepts, 6) HARD WORK HATS OFF TO YOU MY BROTHER. THANKS a lot. If possible, Request to share more and more quality videos like these on all topics especially like Spring (Core) Framework, Spring Data, Spring Security, Core Java 17 topics and so on... My Wish: If possible to work with you technically and learn the "TECHNIQUE of LEARNING (that is, understanding new/any topics in a crystal clear manner)" from you. Thanks.

    • @geekific
      @geekific 2 дні тому

      Thanks a lot for the kind words and support <3 I will add your requests to my to-do list for upcoming videos! Stay Tuned!

  • @Fun9to5
    @Fun9to5 3 дні тому

    So with this pattern you can replace a single simple method that instanciate 10 different classes (implementing the same interface/abstract class) in a switch by 10 new creator classes to respect "Open to extension Close to modification" .... That's AMAZING ... What a great idea that's so much better now. LOL

  • @petrow_
    @petrow_ 4 дні тому

    So cool, at last. Thanks a lot!

  • @siddhanthsridhar4742
    @siddhanthsridhar4742 5 днів тому

    pesu students thumbs up if here

  • @Kelechikellyadiele
    @Kelechikellyadiele 6 днів тому

    Very clear and concise like a 'Use Case'😀. Thank you for sharing

  • @mtouphd371
    @mtouphd371 6 днів тому

    you are the best my freind

  • @darrenjackson4646
    @darrenjackson4646 6 днів тому

    you are amazing! Everything is explained so well. I can honestly say that I am learning more from you than my comp sci professor

  • @christianrodier3381
    @christianrodier3381 8 днів тому

    Super helpful

  • @caiosaldanha2371
    @caiosaldanha2371 8 днів тому

    That was the best explamnation so far! Thank you very much!

  • @DG-jq2jq
    @DG-jq2jq 8 днів тому

    FUCK SOLID

  • @leaoaugusto
    @leaoaugusto 9 днів тому

    Thank you

  • @rburaksaritas
    @rburaksaritas 9 днів тому

    isn't this just a microkernel architecture pattern?

  • @rburaksaritas
    @rburaksaritas 9 днів тому

    isn't this just our old friend encapsulation?

  • @hetjayeshbhaipatel1075
    @hetjayeshbhaipatel1075 10 днів тому

    wowww

  • @namjitharavind
    @namjitharavind 10 днів тому

    Factory Method scope is classified as class and Absrtact Factory scope as object. Can you please tell me , How it came into that conclusion?

  • @rburaksaritas
    @rburaksaritas 10 днів тому

    What is the use of "private String data" field here? If i call the getInstance() function with some data string, it will not update the data field of the instance. The first getInstance() call will set the data value and it will never change again. What am I missing?

    • @rburaksaritas
      @rburaksaritas 10 днів тому

      Nevermind, the question is already asked before and answered well. If anyone thought the same thing: A: Very nice! This video was mainly about the Singleton Pattern that is why I didn't want to delve other details. But what you could do is create a map and store several singletons based on their names, then the single instance would be tied to that name. So, in the most common example if you were using the singleton for DB instances and you were using two of them, you'll have two records in your map! Hope this helps :) Cheers!

  • @BashithaShamila
    @BashithaShamila 11 днів тому

    you have the best teaching skill among the youtubers i've watched , keep it up bro ....!

  • @shashikantnipanikar860
    @shashikantnipanikar860 12 днів тому

    Really helpful

  • @perfectketchup
    @perfectketchup 13 днів тому

    Sorry but why cant you make a list of INotifiers, and call by iteration, instead of creating this ceremonial boilerplate?

  • @IsaacC20
    @IsaacC20 14 днів тому

    Multiplicity wasn't explained very well. Allow me to clarify: The multiplicity attached to each class indicates how many instances of that class can be aggregated-by/composed-by/associated-with a *single* object of the other class. For example, the relationship @4:53 says two things: (1) "0...N BankAccount(s) can be aggregated by each single Customer object" and (2) "There is exactly 1 Customer object for each single BankAccount object". Similarly, @7:23 (1) "0...N BankEvent is associated with a single Customer object (i.e., a Customer can attend 0 or more BankEvents)" and (2) "0...N Customer is associated with a single BankEvent (i.e., Each BankEvent can have 0 or more Customer(s))"

  • @Kaviarasu_NS
    @Kaviarasu_NS 15 днів тому

    can pls do share tools you use for your tutorial creation, looks great

  • @dhruvburada5391
    @dhruvburada5391 16 днів тому

    Thank you for your such detailed Information It is something I was looking for.

  • @Sk-ud9uy
    @Sk-ud9uy 16 днів тому

    Can't figure what does the "pizza.SetToppings" mean. or, more specifically what is the " .SetWhatever ". I know what it should do, but it does not work, it says that it needs to be declared previously, but where should I declare it, how can I change that string while the object is being made? My code gives "null" where all the toppings, sauce and crust types should be. Plz send help!

  • @justmagic_4897
    @justmagic_4897 16 днів тому

    Hey man, checked a few of your videos, they're great, keep it up, understood a lot of concepts thanks to your detailed explanations

  • @KushagraKanodia-nm1re
    @KushagraKanodia-nm1re 16 днів тому

    great video just one question, when doing the Customer id example, if we are already using the synchronized method to increment id we dont need to use volatile keyword right? l

  • @mohammadiqbal4668
    @mohammadiqbal4668 16 днів тому

    but this question is about arrays and video is about linked list

  • @mercykissi7016
    @mercykissi7016 17 днів тому

    Nice one

  • @bob_mikhail
    @bob_mikhail 17 днів тому

    How do you insert, remove or reorder handlers dynamically? Each handler only has a reference to the next one

  • @karoldo1831
    @karoldo1831 19 днів тому

    In terms of suggestions for future videos: 1) algorithms topic - since you have a playlist of well known topic like "graphs", then maybe you can also do the infamous "dynamic programming" playlist? :D 2) Java topic, maybe you can do a demo how to secure a web app e.g. with spring security?

    • @geekific
      @geekific 18 днів тому

      Thanks for the feedback! Will try to integrate this in future videos. Stay Tuned!

  • @adam.phelps
    @adam.phelps 20 днів тому

    Very helpful thank you!!

  • @butterbutter
    @butterbutter 21 день тому

    Great video! I was wondering if it would be possible to use the Composite pattern here? We can have that Whatsapp and Email notifications implement the Notifier interface and then have compositeApps which can include any platform (Whatsapp, email, facebook, etc). Thanks in advance!