Module 2: Build Sprint 1
Understanding Your First Ticket
In this module, you'll learn how to work with your first ticket in the project. You'll start implementing features and contributing to the codebase.
First Ticket Details
View your first ticket details and requirements on GitHub:
First Ticket DocumentationKey Components of a Ticket
- Title - Clear description of the task
- Description - Detailed explanation of what needs to be done
- Acceptance Criteria - What conditions must be met for the ticket to be considered complete
- Story Points - Estimate of complexity/effort
- Priority - How important/urgent the ticket is
- Assignee - Who is responsible for completing the ticket
- Status - Current state of the ticket (To Do, In Progress, etc.)
Backend Implementation
Learn how to implement backend features using Spring Boot, including REST endpoints, services, and repositories.
Key Concepts
- Controllers - Handle HTTP requests and responses
- Services - Contain business logic
- Repositories - Interface with the database
- DTOs - Data Transfer Objects for request/response payloads
- Entities - Database models
Testing Your Code
Learn about writing unit tests and integration tests for your Spring Boot application.
Testing Strategies
- Unit Tests - Test individual components in isolation
- Integration Tests - Test interactions between components
- Mock Objects - Simulate dependencies for unit testing
- Test Containers - For database and other infrastructure tests
Example Test
@SpringBootTest public class AssignmentServiceTest { @MockBean private AssignmentRepository assignmentRepository; @Autowired private AssignmentService assignmentService; @Test public void testGetAssignmentById() { // Arrange Assignment assignment = new Assignment(); assignment.setId(1L); assignment.setTitle("Test Assignment"); when(assignmentRepository.findById(1L)) .thenReturn(Optional.of(assignment)); // Act AssignmentDTO result = assignmentService.getById(1L); // Assert assertNotNull(result); assertEquals("Test Assignment", result.getTitle()); verify(assignmentRepository).findById(1L); } }
Code Reviews
Learn how to effectively review code and respond to feedback on your own code.
Code Review Best Practices
- Be Specific - Point to specific lines and explain issues clearly
- Ask Questions - Instead of making demands, ask questions to understand the code
- Focus on the Code - Not the coder
- Provide Constructive Feedback - Suggest improvements, not just point out problems
- Be Timely - Review code promptly to avoid delays
- Be Open to Discussion - Code reviews should be a dialogue
Daily Standups
Learn about daily standup meetings and how to communicate effectively with your team.
Standup Format
In a standup meeting, each team member typically answers these three questions:
- What did I accomplish yesterday?
- What will I work on today?
- What blockers or challenges am I facing?
Keep your update concise and focused on these points. If detailed discussions are needed, they should be taken "offline" after the standup.
Tips for Effective Standups
- Be Punctual - Arrive on time or even a few minutes early
- Be Prepared - Know what you're going to say before the meeting starts
- Be Concise - Keep your update under 2 minutes
- Listen Actively - Pay attention to what others are saying
- Focus on Progress - Highlight movement toward sprint goals
- Raise Blockers - Don't hesitate to mention impediments