Learn Oracle APEX by building an application

Build a real Oracle APEX app, step by step, and learn why every table, rule and page is built the way it is.

Free14 parts94 short lessonsQuizzes and a certificateNo experience needed
The project

Meet Turnout

A platform where any club, from runners to chess players, publishes events, takes RSVPs with waitlists and checks people in at the door. You build all of it.

Saturday Long RunTampa Runners · Bayshore Boulevard · 7:00 AM
Going
Tuesday Track IntervalsTampa Runners · 3 spots, all taken
Waitlist #1
Blitz NightBay Chess Club · Downtown Library · 7:00 PM
Going

Model it properly

Twelve tables, each with a reason: keys, time zones, a waitlist as a state machine, and rules the database enforces for you.

Secure it properly

Sign in with an email code, Google, Microsoft or GitHub. Roles that change club to club, enforced on the page, in the code and in the data.

Finish it properly

Dynamic actions, a branded Universal Theme, reminders and approvals, AI helpers, Spanish translation, and the app in Git.

Curriculum

Each lesson is 8 to 15 minutes with one clear outcome. Each part ends with a short quiz. A suggested pace is one part a week.

Foundations

0Get in and look around
  • Request and activate your workspace
  • Sign in and confirm you're on 26.2
  • Your first query in SQL Workshop
  • Install and run a sample app
  • Peek inside Page Designer

Open Part 0

1Think before you build
  • Turnout's users and their stories
  • Version 1 scope: in, later, out
  • From stories to nouns: finding the tables
  • Sketching pages on paper

Open Part 1

2Model the data, with reasons
  • Keys: surrogate ids and natural uniques
  • People vs sign-ins
  • Clubs, categories and URL slugs
  • Membership as a table
  • Events and time zones
  • RSVPs as a state machine
  • Lookup or check constraint? Plus the outbox and the cache
  • Audit columns, defaults and triggers
  • Draft in Quick SQL, finish by hand
  • Indexes on foreign keys
  • Seed realistic sample data

Open Part 2

3The business logic layer
  • Why a logic layer
  • Package anatomy and naming
  • TO_CLUB_API and join policies
  • TO_RSVP_API: capacity and the last-spot race
  • Waitlist promotion
  • Errors people can read
  • Testing the API

Open Part 3

4The app shell and page flow
  • Create the app and plan page numbers
  • Public pages and friendly URLs
  • Normal pages vs modal dialogs
  • Branches, redirects and closing dialogs
  • Deep links: sign in and come back
  • Breadcrumbs: a way back up

Open Part 4

Security

5Sign in to Turnout
  • How sign-in fits together
  • One person, many identities
  • Email codes
  • The custom scheme and the two-step page
  • Social sign-in: Google, Microsoft and GitHub
  • Switching schemes, signing out, sessions

Open Part 5

6Authorization in four layers
  • The four layers
  • Authorization schemes, one per zone
  • Component conditions: what each person sees
  • Data rules: filter by person and club
  • Site admins and the Club approvals page
  • What people see when they're refused
  • Testing permissions as three people

Open Part 6

The app

7Build the pages
  • The page map
  • The public pages, revisited
  • My events: two lists and a calendar
  • My ticket: a QR code you can't forge
  • My clubs
  • Profile and linked sign-ins
  • The organizer dashboard
  • Members in an Interactive Grid
  • The event editor dialog
  • Check-in at the door
  • Attendance, and closing an event

Open Part 7

8Dynamic actions
  • Anatomy of a dynamic action
  • Running JavaScript: ends follow starts
  • Running code on the server: the guest count
  • Conditions and false actions: a two-step Cancel event
  • Refreshing after a dialog closes
  • When not to use a dynamic action
  • Debugging dynamic actions

Open Part 8

9Give Turnout a brand
  • The brand on paper
  • How Universal Theme takes a brand
  • The logo
  • One brand stylesheet
  • Fixing what looked off
  • Checking the brand

Open Part 9

Beyond the pages

10Automation and email
  • The outbox
  • Email templates and placeholders
  • The send automation
  • Closing finished events
  • Day-before reminders
  • Watching automations run

Open Part 10

11Integrations and AI
  • Calling a web service from PL/SQL
  • Reading JSON, and caching it
  • Showing it
  • Draft with AI
  • Scanning tickets with the camera

Open Part 11

12Turnout in Spanish
  • One app, two languages
  • Seed and export the XLIFF file
  • Translating the file
  • Text messages: Spanish from PL/SQL
  • Dynamic translations: Spanish for data
  • Apply, publish, and the step people miss
  • When the app changes

Open Part 12

13Quality and shipping
  • The app as source files
  • Tests you run every time
  • The security review
  • Performance: measure first
  • Installable on phones
  • The go-live checklist

Open Part 13

Coming after version 1

+REST APIs: public and OAuth2-protected
  • Designing a REST API
  • A public events API
  • Protecting an API with OAuth2 client credentials
  • Documenting with OpenAPI

Get started in three steps

1. Get a free workspace

Sign up at apex.oracle.com. It’s free, runs in your browser, and is ready in minutes.

2. Start Part 0

Follow the first lab. You’ll confirm you’re on APEX 26.2 and install a sample app.

3. Build Turnout, one part at a time

Each part adds to the same app and ends with a short quiz. Pass every quiz to earn your certificate.

Questions

Is it really free?

Yes. Every lesson, quiz and certificate is free, and so is the apex.oracle.com workspace you’ll use.

Do I need to know SQL?

No. Part 2 teaches the SQL you need as you build Turnout’s tables, and every script is explained line by line.

Why APEX 26.2?

It’s the current release, from October 2026. Some older tutorials show tools that 26.2 removed, so this course teaches the way APEX works today.

How do I earn the certificate?

Pass the quiz at the end of each part. Then put your name on the certificate page and print it or save it as a PDF. Part 13 ends with a capstone to try on your own.

Can I use my own computer instead?

Yes, any APEX 26.2 instance works, including a free Oracle Cloud database or a local install. apex.oracle.com is the easiest way to follow along, and it's what the lessons show.