Skip to content

चरण 6 – अंतिम प्रोजेक्ट्स (चल रहे)

प्रोजेक्ट 1: पूर्ण CRUD के साथ ऑथेंटिकेशन

  • उद्देश्य: सुरक्षित ऑथेंटिकेशन और टेस्टिंग के साथ एक मजबूत RESTful API बनाना।
  • टेक्नोलॉजीज: Spring Boot, Spring Data JPA (PostgreSQL), Spring Security (JWT), JUnit 5, Testcontainers।
  • फीचर्स: एंटिटीज (उदाहरण के लिए, टास्क्स, यूजर्स) के लिए CRUD, roles (ADMIN, USER) के साथ ऑथेंटिकेशन, Swagger के साथ डाक्यूमेंटेशन।
  • वैकल्पिक: टास्क्स देखने/प्रबंधन के लिए Thymeleaf इंटरफेस जोड़ना।
  • उदाहरण: प्रोजेक्ट्स प्रबंधन के लिए API (एंटिटीज: Project, Task, User) सुरक्षित endpoints के साथ।

प्रोजेक्ट 2: फाइल अपलोड

  • उद्देश्य: प्रोजेक्ट 1 की API में फाइल अपलोड फंक्शनैलिटी जोड़ना।
  • टेक्नोलॉजीज: Spring Boot (MultipartFile), Amazon S3 या लोकल स्टोरेज, फाइल वैलिडेशन।
  • फीचर्स: टास्क्स से संबंधित इमेज/डॉक्यूमेंट्स अपलोड करना, टाइप/साइज़ वैलिडेशन।
  • उदाहरण: API में टास्क्स के लिए अटैचमेंट्स (उदाहरण के लिए, PDF, PNG) अपलोड करने की अनुमति देना।

प्रोजेक्ट 3: क्लाउड डिप्लॉयमेंट

  • उद्देश्य: CI/CD के साथ क्लाउड प्लेटफॉर्म पर API डिप्लॉय करना।
  • टेक्नोलॉजीज: Railway, Heroku, या AWS (Elastic Beanstalk), GitHub Actions, Docker।
  • फीचर्स: JAR/Docker के रूप में पैकेजिंग, पर्यावरण चर कॉन्फ़िगर करना, स्वचालित डिप्लॉयमेंट।
  • वैकल्पिक: बार-बार होने वाली क्वेरीज़ को अनुकूलित करने के लिए Redis के साथ कैशिंग लागू करना।
  • उदाहरण: PostgreSQL और CI/CD के साथ Railway पर प्रोजेक्ट API डिप्लॉय करना।

प्रोजेक्ट 4: माइक्रोसर्विसेज़

  • उद्देश्य: प्रोजेक्ट 1 की API को ऑर्केस्ट्रेटेड माइक्रोसर्विसेज़ में विभाजित करना।
  • टेक्नोलॉजीज: Spring Cloud (Eureka, Gateway), Docker Compose, REST के लिए कम्युनिकेशन।
  • फीचर्स: Tasks और Users के लिए माइक्रोसर्विसेज़, सर्विस डिस्कवरी के साथ।
  • वैकल्पिक: माइक्रोसर्विसेज़ के बीच एसिंक्रोनस कम्युनिकेशन के लिए RabbitMQ का उपयोग।
  • उदाहरण: टास्क और यूजर लॉजिक को दो सर्विसेज में अलग करना, Docker के साथ ऑर्केस्ट्रेटेड।

प्रोजेक्ट 5: एक्सटर्नल API इंटीग्रेशन

  • उद्देश्य: कार्यक्षमता बढ़ाने के लिए एक एक्सटर्नल API का उपयोग करना।
  • टेक्नोलॉजीज: Spring RestTemplate या WebClient, API ऑथेंटिकेशन (उदाहरण के लिए, OAuth2)।
  • फीचर्स: एक पब्लिक API के साथ एकीकरण (उदाहरण के लिए, SendGrid के माध्यम से ईमेल नोटिफिकेशन्स भेजना)।
  • वैकल्पिक: टास्क्स/यूजर्स को रिट्रीव करने के लिए GraphQL Query जोड़ना और MongoDB में मेटाडेटा स्टोर करना।
  • उदाहरण: टास्क पूर्ण होने के लिए ईमेल नोटिफिकेशन्स जोड़ना।

पोर्टफोलियो सर्वोत्तम अभ्यास

  • Git: प्रत्येक फीचर के लिए commit (उदाहरण के लिए, feature/crud, feature/upload), स्पष्ट ब्रांचेस।
  • डाक्यूमेंटेशन: विवरण, सेटअप, endpoints, डिप्लॉयमेंट, और स्क्रीनशॉट्स के साथ README।
  • प्रकाशन: GitHub पर ओपन-सोर्स लाइसेंस (उदाहरण के लिए, MIT) के साथ होस्ट करना।

संसाधन