Skip to content

5. GitLab

Have you ever worked on a school project with friends where you needed to share files, keep track of changes, and organize who's doing what? GitLab is like a super-powered digital workspace that helps you do all this and more.

GitLab is an online platform where you can store your projects, track changes to your code or documents, collaborate with friends, and organize your tasks. Think of it as a combination of Google Drive, a to-do list app, and a digital notebook, but designed especially for coding projects.

5.1 Repository

A "repository" (or "repo" for short) is like a project folder in GitLab. Create a folder learning and within markdown files to document your learning progress. In addition you may add pdf or dart files or any other file to store your coding samples.

5.2 Issues

In GitLab, "Issues" are like digital to-do items. You can use them to track your learning goals

  1. Go to Plan --> Issues
  2. Click "New issue"
  3. Give it a title like "Learn Dart Navigation"
  4. In the description, you can detail what you want to learn
## Learning Goal
Understand how to navigate between screens in a Flutter app

## Resources to Check
- Flutter documentation on Navigation
- YouTube tutorial by [channel name]

## Tasks
- [ ] Learn about Navigator.push()
- [ ] Create a simple two-screen app
- [ ] Try passing data between screens
  1. Add labels (Manage --> Labels --> New Label) like "learning" or "flutter-basics" to organize your issues
  2. Assign the issue to yourself
  3. Set a due date if you want to

When you complete that learning goal, you can comment on the issue with what you learned and then close it. This creates a record of your accomplishment!

5.3 Issue Boards: Visualizing Your Progress

issue board

Issue Boards in GitLab are like digital kanban boards. You can create columns to track the status of your learning goals:

  1. Go to Plan --> Issues --> Issue Boards
  2. Create a board called "Learning Progress"
  3. Add columns like:
  4. "To Learn" - Things you want to learn next
  5. "Learning Now" - What you're currently studying
  6. "Need Practice" - Concepts you understand but need more practice with
  7. "Understood" - Things you've learned well

You can drag your issues between these columns as you make progress. This gives you a visual way to see how far you've come!

5.4 Collaboration

When you're ready to work on a Flutter project with friends, GitLab really shines

## Feature: User Profile Screen

We need to create a screen where users can:
- View their profile picture
- Edit their username
- Change their theme preferences

## Design Notes
The design should follow our app's color scheme and include a 
circular profile picture at the top.

## Technical Requirements
- Need to use SharedPreferences to save theme choice
- Should validate username input
- Profile picture should be tappable to change
  1. Use the Issue Board to organize who's working on what:
  2. "To Do" - Features not started yet
  3. "In Progress" - Features someone is currently building
  4. "Code Review" - Features that need to be checked by another team member
  5. "Done" - Completed features

This way, everyone knows what needs to be done and who's working on what.

In addition define milestones, estimate your issues and track your time.