Skip to content

Latest commit

 

History

History
201 lines (148 loc) · 4.88 KB

File metadata and controls

201 lines (148 loc) · 4.88 KB

🚀 GitHub Repository Setup Guide

Recommended Repository Name

Primary Choice: flutter-chat-app-learning

Alternative Options:

  • learn-flutter-chat-app
  • flutter-chat-tutorial
  • chat-app-flutter-learning

Repository Description

Use this description when creating your GitHub repository:

💬 A comprehensive Flutter chat application built as a learning project. Features real-time messaging, authentication, and modern UI/UX. Built alongside Flutter tutorials with Mitch Koko.

Repository Topics/Tags

Add these topics to improve discoverability:

flutter, dart, chat-app, mobile-development, learning-project, 
firebase, real-time-messaging, flutter-tutorial, mitch-koko, 
authentication, ui-ux, cross-platform

Initial Repository Setup Steps

1. Create Repository on GitHub

  • Go to GitHub and create a new repository
  • Use the recommended name: flutter-chat-app-learning
  • Add the description above
  • Make it Public (for learning portfolio) or Private (your choice)
  • Don't initialize with README (we already have one)

2. Connect Local Repository

# Navigate to your project directory
cd /home/collinsking/dev-projects-software/mobile\ /chatapp

# Initialize git (if not already done)
git init

# Add all files
git add .

# Create initial commit
git commit -m "Initial commit: Flutter chat app learning project setup"

# Add remote repository (replace YOUR_USERNAME)
git remote add origin https://github.com/YOUR_USERNAME/flutter-chat-app-learning.git

# Push to GitHub
git branch -M main
git push -u origin main

3. Repository Settings

Enable GitHub Pages (Optional)

  • Go to Settings → Pages
  • Source: Deploy from a branch
  • Branch: main / docs folder

Enable Issues

  • Go to Settings → General
  • Enable Issues for project tracking

Add Repository Topics

  • Go to the main repository page
  • Click the gear icon next to "About"
  • Add topics listed above

4. Create Initial Milestones

Go to Issues → Milestones and create:

  • Phase 1: Foundation (Week 1-2)
  • Phase 2: Authentication (Week 3-4)
  • Phase 3: Core Features (Week 5-6)
  • Phase 4: Advanced Features (Week 7-8)
  • Phase 5: Polish & Optimization (Week 9+)

5. Create Project Board (Optional)

GitHub Projects can help track progress:

  • Go to Projects → New project
  • Create a board with columns:
    • 📋 Backlog
    • 🚧 In Progress
    • ✅ Done
    • 🐛 Bugs

6. Add Badges (Optional)

Add to README.md for visual appeal:

![Flutter](https://img.shields.io/badge/Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white)
![Dart](https://img.shields.io/badge/Dart-0175C2?style=for-the-badge&logo=dart&logoColor=white)
![Status](https://img.shields.io/badge/Status-In%20Development-yellow?style=for-the-badge)

Commit Message Examples

Good Commit Messages:

feat: Add user authentication screen with email validation
fix: Resolve message timestamp display issue
docs: Update README with Phase 2 completion
style: Format code according to Dart style guide
refactor: Extract message widget to separate file
test: Add unit tests for authentication service
chore: Update dependencies to latest versions

Bad Commit Messages:

❌ update
❌ fix bug
❌ changes
❌ wip

Branch Naming Convention

main                    # Production-ready code
develop                 # Development branch
feature/auth-screen     # New features
fix/message-timestamp   # Bug fixes
learning/state-mgmt     # Learning experiments
docs/readme-update      # Documentation updates

Pull Request Template (Optional)

Create .github/pull_request_template.md:

## Description
Brief description of changes

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Code refactoring

## Testing
- [ ] Tested on Android
- [ ] Tested on iOS
- [ ] Manual testing completed

## Screenshots (if applicable)
[Add screenshots here]

## Learning Notes
[What did you learn from this PR?]

Issue Templates

Create .github/ISSUE_TEMPLATE/ with templates for:

  • Bug reports
  • Feature requests
  • Learning questions
  • Documentation improvements

README Badges

Add these to the top of your README:

![Flutter](https://img.shields.io/badge/Flutter-3.10.0+-02569B?logo=flutter)
![Dart](https://img.shields.io/badge/Dart-3.10.0+-0175C2?logo=dart)
![License](https://img.shields.io/badge/License-MIT-green)
![Status](https://img.shields.io/badge/Status-In%20Development-yellow)

Social Preview

Add a social preview image:

  • Create assets/social-preview.png (1280x640px)
  • Shows your app UI or project logo
  • GitHub will use this for link previews

License

Consider adding a LICENSE file:

  • MIT License (most common for learning projects)
  • Apache 2.0
  • Or create your own

Next Steps: After setting up the repository, start documenting your learning journey with regular commits and updates!