Let's be friends

Introduction

The best way to learn about databases is to just sit down and build something that uses every feature you can think up in order of necessity.

That could be with PHP and associative arrays, or files, or really (if you’re into JavaScript already) in a CodePen, so focus on the concepts and build up as needed for real projects. There’s plenty of time to fool around with ORMs and abstraction layers.

Here’s the Common database concepts resource that you’ll need to use as a checklist. Make something using every one of those concepts.

Can’t think of any ideas?

Most people say they can’t think of anything!? What? Why did you want to learn to build web apps? Well, here are some ideas. These should be able to cover all of the concepts. And it doesn’t really matter what you build – because it’s about exploring and practicing. You can use what you learn later – when you have an idea of your own.

Pet Adoption Center

  • CRUD: Add, update, delete pets. Include adoption status (e.g., adopted or not).
  • Filtering: Show available pets (not adopted).
  • Relationships: Link pets to their caretakers or medical history.
  • Soft delete: Archive records for adopted pets.

Antique Store Inventory

  • CRUD: Manage items in the inventory.
  • Filtering: Filter by category (furniture, art, etc.), availability, or price.
  • Sorting: Show newest or most expensive items first.
  • Relationships: Items can belong to multiple categories.

Library Book Management

  • CRUD: Add new books, update information, or remove outdated ones.
  • Filtering: Show available books only.
  • Relationships: Track borrowing history and connect books to authors and genres.

Recipe Sharing Platform

  • CRUD: Users add, update, or delete recipes.
  • Relationships: Tag recipes with categories like cuisine or diet (e.g., vegetarian).
  • Sorting: Sort by most recent, highly rated, or by ingredients.

Car Dealership Inventory

  • CRUD: Add and manage cars.
  • Filtering: Filter by make, model, price range, or condition (new/used).
  • Relationships: Show cars tied to sales agents or customers (purchases).
  • Soft delete: Archive sold cars.

Art Gallery Management

  • CRUD: Add new art pieces or update existing ones.
  • Relationships: Link artworks to artists and exhibitions.
  • Sorting: Sort by artist name, medium, or price.
  • Soft delete: Archive sold or exhibited pieces.

Event Ticketing System

  • CRUD: Manage events and tickets.
  • Filtering: Filter events by date or type.
  • Relationships: Tickets should be linked to buyers and specific events.
  • Soft delete: Archive completed events.

Charity Donation Platform

  • CRUD: Manage charity causes and donations.
  • Filtering: Show active causes or those needing the most help.
  • Sorting: Sort causes by amount raised or popularity.
  • Relationships: Link donations to causes and donors.

Virtual Classroom

  • CRUD: Add or update lessons and assignments.
  • Relationships: Link students to classes and assignments.
  • Filtering: Filter assignments by due date or status (complete/incomplete).
  • Soft delete: Archive past classes or assignments.

Local Marketplace

  • CRUD: Add and manage products for sale.
  • Filtering: Filter items by category, price, or seller.
  • Relationships: Link products to sellers and categories.
  • Soft delete: Archive sold or expired listings.
Let's be friends