Lesson 0: Setting Up Your Development Environment with GitHub Codespaces

Welcome to Lesson 0 of the Building Flipnzee Auctions series.

Before writing a single line of PHP, let’s prepare our development environment.

Many WordPress tutorials begin by creating a folder inside wp-content/plugins and editing files directly on the server. While that approach works, it doesn’t scale well and doesn’t teach the workflow used by most professional developers.

Throughout this series, we’ll use GitHub Codespaces as our development environment. This means you can build your plugin entirely in your web browser, keep your code safely backed up in GitHub, and deploy it to any WordPress website by simply uploading a ZIP file.

Even if you’ve never used Git or GitHub before, don’t worry. We’ll learn everything step by step.


Why Use GitHub Codespaces?

GitHub Codespaces provides a complete Visual Studio Code development environment in your browser.

There is no need to install:

  • PHP
  • Apache
  • MySQL
  • Visual Studio Code
  • Git

Everything runs in the cloud.

Some of the benefits include:

  • Develop from any computer
  • Automatic backups with Git
  • Professional development workflow
  • Easy collaboration
  • No risk of accidentally breaking your live website
  • Perfect for open-source projects

By the end of this series, your entire plugin will be stored in a GitHub repository that you can continue improving for years.


Our Development Workflow

Every lesson in this series will follow the same workflow.

GitHub Repository
        │
        ▼
GitHub Codespaces
        │
        ▼
Develop & Test
        │
        ▼
Commit Changes
        │
        ▼
Push to GitHub
        │
        ▼
Download Plugin ZIP
        │
        ▼
WordPress Dashboard
        │
        ▼
Plugins → Add New
        │
        ▼
Upload Plugin
        │
        ▼
Activate Plugin

This is a modern workflow that combines version control with WordPress development.


Step 1: Create a GitHub Account

If you don’t already have one, create a free GitHub account.

Once your account is ready, sign in.


Step 2: Create a New Repository

Click the New Repository button.

Repository Name:

flipnzee-auctions

Choose:

  • Public (recommended for learning)
  • Add a README file
  • Add a .gitignore (choose None for now)
  • License: GPL-3.0 (or leave blank—we’ll add one later)

Click Create Repository.

Congratulations! You’ve just created the home of your plugin.


Step 3: Launch GitHub Codespaces

Inside your repository:

  1. Click the green Code button.
  2. Select the Codespaces tab.
  3. Click Create Codespace on main.

GitHub will prepare your development environment.

The first launch may take a minute or two.

When it finishes, you’ll see a browser-based version of Visual Studio Code.


Step 4: Explore the Interface

Spend a few minutes becoming familiar with the layout.

You’ll see:

  • Explorer (your project files)
  • Search
  • Source Control (Git)
  • Run & Debug
  • Extensions
  • Terminal

Don’t worry if some of these seem unfamiliar. We’ll use them throughout the series.


Step 5: Create the Plugin Folder

In the Explorer, create a new folder named:

flipnzee-auctions

This folder will eventually become the ZIP file that we’ll upload to WordPress.


Step 6: Open the Integrated Terminal

From the menu:

Terminal → New Terminal

Try a few basic commands:

pwd

Displays your current location.

ls

Lists files and folders.

Navigate into your plugin folder:

cd flipnzee-auctions

Confirm your location:

pwd

Learning a few terminal commands now will make development much easier later.


Step 7: Organize Your Repository

Before we start writing plugin code, let’s organize our GitHub repository like a professional software project.

It’s important to understand that a GitHub repository and a WordPress plugin are not exactly the same thing.

Think of the repository as the home for your entire project. Besides the plugin itself, it also contains documentation, licenses, changelogs, and other files that help you manage and distribute the project.

By the end of this step, your repository should look like this:

flipnzee-auctions/                 ← GitHub Repository

│
├── README.md
├── ROADMAP.md
├── LICENSE
├── CHANGELOG.md
│
└── flipnzee-auctions/             ← WordPress Plugin Folder

Notice that there are two folders named flipnzee-auctions.

The outer one is your GitHub repository, while the inner one will become the actual WordPress plugin.

When we eventually upload our plugin to WordPress, we’ll package only the inner folder into a ZIP file.


Step 8: Create the ROADMAP.md File

In the root of your GitHub repository (not inside the plugin folder), create a file named:

ROADMAP.md

Add the following content:

# Flipnzee Auctions Roadmap

## Version 1.0

- Plugin Skeleton
- Database Tables
- Auction Engine
- Website Listings
- Proxy Bidding
- Watchlist
- Buy Now
- Escrow Workflow
- Payment Methods
- Website Transfer
- Email Notifications
- Reports
- REST API

## Future Versions

- Live Bidding
- AI Website Valuation
- Multi-vendor Marketplace
- Stripe Integration
- WooCommerce Integration
- Mobile App API

This roadmap will evolve throughout the project and serve as our development checklist.


A Note About README.md

You may have noticed that your repository already contains a file named README.md.

That’s perfectly normal.

If you created your repository with the “Add a README file” option enabled, GitHub automatically generated this file for you. This is standard practice and gives every repository a landing page describing the project.

We’ll continue updating this README.md throughout the series as our plugin evolves. By the time we release Flipnzee Auctions v1.0, it will contain installation instructions, feature highlights, requirements, screenshots, and developer documentation.

For now, there’s nothing you need to change in README.md. We’ll focus on creating the remaining project files.

Step 9: Create a CHANGELOG.md File

Professional software projects maintain a changelog that records significant changes between releases.

Create a file named:

CHANGELOG.md

Add the following content:

# Changelog

## Version 1.0.0

- Initial project setup

As we complete each lesson, we’ll update this file with new features and improvements.


Step 10: Review the Repository Structure

Your repository should now look similar to this:

flipnzee-auctions/
│
├── README.md
├── ROADMAP.md
├── CHANGELOG.md
├── LICENSE
│
└── flipnzee-auctions/

At this stage, the inner flipnzee-auctions folder is intentionally empty.

In the next lesson, we’ll begin transforming it into a real WordPress plugin by creating our first PHP file and adding the plugin header.


Step 11: Commit Your Changes

Now that the repository is organized, it’s time to save your progress.

Open the Source Control panel in GitHub Codespaces.

You’ll see the newly created files waiting to be committed.

Use the following commit message:

Lesson 0: Initial project setup

If you prefer using the terminal, run:

git add .
git commit -m "Lesson 0: Initial project setup"
git push

This creates the first milestone in your project’s history and safely stores your work in GitHub.


Summary

Congratulations!

Although we haven’t written any PHP yet, you’ve already adopted a professional development workflow.

Your project now includes:

  • A GitHub repository
  • GitHub Codespaces as your development environment
  • A project roadmap
  • A changelog
  • A clean repository structure ready for development

In Lesson 1, we’ll move into the flipnzee-auctions plugin folder and create the first PHP file that WordPress recognizes as a plugin.

Introducing the Flipnzee Auctions Plugin Development Series

Have you ever wondered how website marketplaces like Flippa allow buyers to place bids, make offers, purchase websites, and complete secure transfers? If you’re a WordPress developer, you may have searched for an auction plugin only to discover that most are designed for physical products rather than digital assets such as websites and domain names.

In this new series on WPNzee, we’re going to build a professional WordPress auction plugin from the ground up.

This won’t be a collection of isolated code snippets. Instead, it will be a structured, real-world software development project where each lesson builds upon the previous one. By the end of the series, we’ll have created a fully functional plugin that powers website auctions for Flipnzee.

What We’re Building

The plugin, Flipnzee Auctions, is designed specifically for buying and selling websites. It will eventually include features such as:

  • Website auction listings
  • Starting price and reserve price
  • Buy Now option
  • Automatic proxy bidding
  • Bid history
  • Watchlist
  • Countdown timers
  • Escrow-based payments
  • Alternative payment methods including PayPal, Wise, Payoneer, bank transfer, and cryptocurrency
  • Buyer and seller dashboards
  • Website transfer checklist
  • Auction reports and analytics
  • Email notifications
  • Security and anti-fraud measures

Rather than trying to build everything at once, we’ll develop the plugin step by step, just as a professional software team would.

Who Is This Series For?

This series is intended for:

  • WordPress developers
  • PHP developers
  • Plugin developers
  • Freelancers
  • Agency owners
  • Computer science students
  • Anyone who wants to learn how large WordPress plugins are architected

A basic understanding of PHP and WordPress will be helpful, but every important concept will be explained along the way.

What Makes This Series Different?

Many tutorials stop after creating a simple plugin that displays “Hello World.”

This series is different.

We’ll discuss software architecture, database design, WordPress coding standards, security, performance, scalability, maintainability, and clean code. Every lesson will explain not only what we’re building, but also why we’re building it that way.

Our goal is to produce a plugin that is robust enough for production use while serving as an educational resource for developers who want to build professional WordPress applications.

How the Series Will Be Organized

The series will be divided into logical stages, including:

  1. Plugin foundation and architecture
  2. Database design
  3. Auction engine
  4. Bidding system
  5. Payment workflow
  6. Escrow integration
  7. Website transfer management
  8. Notifications
  9. Reporting and analytics
  10. Testing, optimization, and release

Each lesson will contain complete source code, detailed explanations, and practical insights that you can immediately apply to your own projects.

Learn by Building

The best way to learn software development is by building something meaningful.

Instead of reading about plugin development in theory, you’ll follow the complete journey of creating a commercial-quality WordPress auction plugin from scratch.

Whether your goal is to build your own marketplace, improve your PHP skills, or better understand WordPress internals, I hope this series helps you gain both confidence and practical experience.

Let’s begin our journey with Lesson 0: Setting Up Your Development Environment with GitHub Codespaces, where we’ll lay the foundation for everything that follows.