Skip to content

चरण 4 – फ्रेमवर्क्स और वेब एप्लिकेशन्स (3-4 महीने)

Spring Boot, Spring Core, और Spring Data JPA

  • Spring Core: Dependency Injection (@Bean, @Autowired), IoC Container.
  • Spring Boot: Auto-Configuration, Starters (spring-boot-starter-web, spring-boot-starter-data-jpa), application.yml.
  • Spring Data JPA: Repositories (CrudRepository, JpaRepository), @Query के साथ क्वेरीज़, पेजिनेशन।
  • उदाहरण: टास्क ऐप में टास्क प्रबंधन के लिए REST Endpoints बनाना (CRUD).

Spring Security (JWT, OAuth2)

  • अवधारणाएँ: Authentication, Authorization, Security Filters.
  • JWT: टोकन बनाना और सत्यापित करना, JwtAuthenticationFilter का उपयोग।
  • OAuth2: Resource Server कॉन्फ़िगर करना, किसी प्रदाता (उदाहरण के लिए, Google) के साथ एकीकरण।
  • उदाहरण: JWT और roles (ADMIN, USER) के साथ टास्क endpoints को सुरक्षित करना।

यूनिट और इंटीग्रेशन टेस्टिंग

  • Unit Tests: JUnit 5, Mockito (@Mock, @InjectMocks), बिजनेस लॉजिक का टेस्ट।
  • Integration Tests: @SpringBootTest, @WebMvcTest, टेस्टिंग के लिए H2 डेटाबेस।
  • Testcontainers: Docker कंटेनर में PostgreSQL के साथ टेस्ट।
  • उदाहरण: टास्क ऐप के सर्विसेज और endpoints का टेस्ट करना।

RESTful APIs और Swagger के साथ डाक्यूमेंटेशन

  • REST: HTTP मेथड्स, स्टेटस कोड्स, RESTful सिद्धांत।
  • Spring REST: @RestController, @RequestMapping, @PathVariable.
  • Swagger: springdoc-openapi कॉन्फ़िगर करना, @Operation के साथ एनोटेट करना।
  • उदाहरण: Swagger UI के साथ टास्क ऐप endpoints का डाक्यूमेंटेशन।

GraphQL का परिचय

  • अवधारणाएँ: Queries, Mutations, Schema.
  • Spring Boot with GraphQL: spring-boot-starter-graphql के साथ सेटअप।
  • उदाहरण: स्टेटस के आधार पर टास्क लिस्ट करने के लिए GraphQL Query बनाना।

मूल फ्रंटएंड इंटीग्रेशन

  • Thymeleaf: Spring Boot के साथ HTML पेज रेंडर करने के लिए टेम्पलेट्स।
  • उदाहरण: टास्क देखने और बनाने के लिए एक साधारण वेब इंटरफेस बनाना।

बिल्ड टूल्स: Maven और Gradle

  • Maven: pom.xml की संरचना, डिपेंडेंसीज़, प्लगइन्स।
  • Gradle: build.gradle फ़ाइल, टास्क्स, डिपेंडेंसी मैनेजमेंट।
  • उदाहरण: Maven और Gradle के साथ टास्क ऐप कॉन्फ़िगर करना।

प्रोजेक्ट डिप्लॉयमेंट

  • प्लेटफॉर्म्स: Railway, Heroku, AWS (Elastic Beanstalk).
  • चरण: JAR के रूप में पैकेजिंग, GitHub Actions के साथ CI/CD कॉन्फ़िगर करना।
  • उदाहरण: PostgreSQL के साथ Railway पर टास्क ऐप डिप्लॉय करना।

अंतिम प्रोजेक्ट

टास्क मैनेजमेंट सिस्टम
- डेटाबेस: Task (शीर्षक, विवरण, स्टेटस) और User टेबल्स (1:N संबंध)।
- Java: Spring Boot, Spring Data JPA के साथ REST API बनाना और CRUD।
- सिक्योरिटी: JWT Authentication, roles (ADMIN, USER).
- टेस्ट्स: यूनिट टेस्ट्स (सर्विसेज) और इंटीग्रेशन टेस्ट्स (Testcontainers के साथ endpoints)।
- डाक्यूमेंटेशन: endpoints के विवरण के साथ Swagger UI।
- वैकल्पिक: टास्क लिस्ट करने के लिए GraphQL Query और इंटरैक्शन के लिए Thymeleaf इंटरफेस जोड़ना।
- Git: प्रत्येक फीचर के लिए commit (उदाहरण के लिए, feature/rest-api, feature/security)।
- प्रकाशन: GitHub पर README के साथ (सेटअप, endpoints, डिप्लॉयमेंट)।

संसाधन