Work closely with front-end developers to ensure seamless API integration and contribute to the overall design of the front-end Conduct thorough API testing and manage code deployment across various environments, ensuring stability and performance. Execute complex SQL and NoSQL queries and manage database systems as necessary to support application functionality Investigate and develop proof of concepts for new technologies as required by project needs. Ensure high standards of code quality through code reviews and adherence to best practices in software development. Maintain comprehensive documentation of systems, APIs, and processes to facilitate knowledge sharing within the team. Participate in Scrum ceremonies and contribute to continuous improvement practices within the team. Assignment Social Media Feed Application Objective Develop a LinkedIn-style social feed application that allows users to log in, create and update posts, like, comment, and share posts. The application should have an infinite scrolling feed and be secure, scalable, and mobile-friendly using Angular 17, Spring Boot, MySQL, and Git. Assignment Details User Authentication (JWT-based) Users must sign up and log in using email and password Authentication should be handled using JWT tokens Passwords must be securely hashed before storing in the database Tokens should be securely stored in the frontend. Scrollable Feed Users should see a continuous scrolling feed of posts New posts should load dynamically as the user scrolls (Infinite Scroll) Posts should be displayed in reverse chronological order (newest first) Each post should show: User details (name, profile picture) Timestamp Engagement stats (likes, comments, shares) Post content post title,desc, image,video).(image based content ,video based content ,only text content ) Post Management Users can: a) Create a new post with text, desc and image and video.(image based content ,video based content , only text content) b) Update their existing posts c) Delete their own posts.(optional) Like, Comment & Share a) Users can like/unlike a post b) Users can comment on posts. c) Users can share posts, which should appear in their own feed.(optional) Mobile Optimization a) The UI must be fully responsive, working seamlessly on mobile and desktop b) Use CSS Grid/Flexbox for layout. c) Use Lazy Loading for better performance. Technical requirements: Frontend (Angular 17, HTML, CSS) Implement Lazy Loading Modules for performance optimization Use Reactive Forms for input validation. Handle JWT authentication securely Implement API calls using HttpClient Use Angular Interceptors for token-based authentication Implement Infinite Scroll using Angular CDK or RxJS Use Angular Material for UI components (optional) Backend (Spring Boot, MySQL) Use Spring Security + JWT for authentication Implement a REST API for managing users & posts Use Spring Data JPA for database operations Implement Global Exception Handling Use Hibernate Validator for request validation Database (MySQL) Tables: users (id, name, email, password, profile_picture, created_at) posts (id, user_id, content, media_url, created_at, updated_at) likes (id, post_id, user_id, created_at) comments (id, post_id, user_id, content, created_at) shares (id, post_id, user_id, created_at) API Endpoints Authentication APIs POST /api/auth/signup Register a new user. POST /api/auth/login Authenticate and return JWT token Post Management APIs POST /api/posts Create a new post. GET /api/posts Fetch all posts (supports infinite scrolling). PUT /api/posts/{id} Update a post. DELETE /api/posts/{id} Delete a post. Interaction APIs POST /api/posts/{id}/like Like/unlike a post. POST /api/posts/{id}/comment Add a comment POST /api/posts/{id}/share Share a post Git Submission Guidelines Create a public GitHub/GitLab repository The repository should contain two directories: frontend/ (Angular 17 code) backend/ (Spring Boot code) Submission Deadline a) You need to submit the completed project via GitHub/GitLab within 7 days after receiving it. b) Share repository access with the following email: cloud.security@docplexus.com; kushlesh.singh@docplexus.com c) You are requested to enter your name, email id and contact number. d) Shortlisted candidates will be invited for the next round of PI interview over Microsoft team meet.Feel free to reach out for any query at +91- 8669977554 (Contact person - Kushlesh Singh)