Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
49db018
migrate Chakra UI example and update dependencies to latest versions.
nachocodoner Mar 11, 2026
566d1c0
update to latest react 19.x
nachocodoner Mar 11, 2026
87be531
upgrade Meteor to 3.4, migrate dependencies and update build configur…
nachocodoner Mar 14, 2026
36814e2
add PostCSS loader for Tailwind CSS integration with Rspack
nachocodoner Mar 14, 2026
c96688a
add PostCSS loader for Tailwind CSS integration with Rspack
nachocodoner Mar 14, 2026
e7ba3e4
add "modern" key to package.json
nachocodoner Mar 14, 2026
51962dc
upgrade to Meteor 3.4, implement async/await for server methods, add …
nachocodoner Mar 14, 2026
7dddf59
add "modern" flag to parties/package.json
nachocodoner Mar 14, 2026
7b4bbb3
update Meteor tailwindcss to version 3, migrate to Rspack, and upgrad…
nachocodoner Mar 16, 2026
43aadc9
upgrade tic-tac-toe to Meteor 3.4, integrate Rspack, and refactor Rea…
nachocodoner Mar 16, 2026
baf767b
updated README.md to reorganize sections, update examples, and align …
nachocodoner Mar 16, 2026
1b21a14
migrate complex-todos-svelte app to Meteor 3.4; implement Rspack, ref…
nachocodoner Mar 16, 2026
4c331cc
reorder README examples for clarity; move Complex Todos (Svelte) and …
nachocodoner Mar 16, 2026
81017bd
integrate MUI for consistent styling and improve game UI functionality
nachocodoner Mar 17, 2026
61076a6
upgrade dependencies and refactor code to support React Router v7
nachocodoner Mar 17, 2026
4b92af9
update tailwindcss project dependencies and rename
nachocodoner Mar 18, 2026
7eeb1d4
rename `tailwindcss` project to `task-manager` and update all related…
nachocodoner Mar 18, 2026
0d770cf
cleaned up unused Meteor project files and updated README with demo i…
nachocodoner Mar 18, 2026
369eed8
remove obsolete Rspack build artifacts from .gitignore
nachocodoner Mar 18, 2026
6b26217
upgrade Bootstrap to v5.3.3 and restyle UI for modern look and improv…
nachocodoner Mar 18, 2026
93eae8e
rename and repurpose "Chakra UI" example to "Notes Offline": convert …
nachocodoner Mar 18, 2026
bf71239
update README: refine Notes Offline details and stack, add PWA and Wo…
nachocodoner Mar 18, 2026
5f04603
Merge remote-tracking branch 'origin/migrate-examples' into migrate-e…
nachocodoner Mar 18, 2026
570c2b0
fix cypress tests for complex-todos-svelte
nachocodoner Mar 19, 2026
22d2f27
update README.md to enforce a clear structure
nachocodoner Mar 20, 2026
80e660a
add Playwright for E2E tests across examples
nachocodoner Mar 20, 2026
f425f63
add oxlint for code linting and update relevant dependencies
nachocodoner Mar 20, 2026
c937857
add GitHub Actions workflows for various projects (complex-todos-svel…
nachocodoner Mar 20, 2026
f1c9556
adjust party creation and interaction coordinates in e2e tests to avo…
nachocodoner Mar 20, 2026
9939249
restrict GitHub workflows to trigger only on `main` branch pushes.
nachocodoner Mar 20, 2026
c15b50f
add Mocha test step to workflows and update testing dependencies
nachocodoner Mar 20, 2026
3c1719b
enable Mocha environment in ESLint, standardize quotes, and refine RE…
nachocodoner Mar 20, 2026
a8941c7
fix on tests
nachocodoner Mar 20, 2026
be5a94c
add *.map to .gitignore in all projects to exclude source maps
nachocodoner Mar 20, 2026
a61c07b
fix lint
nachocodoner Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/complex-todos-svelte.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: complex-todos-svelte

on:
push:
branches: [main]
paths:
- "complex-todos-svelte/**"
- ".github/workflows/complex-todos-svelte.yml"
pull_request:
paths:
- "complex-todos-svelte/**"
- ".github/workflows/complex-todos-svelte.yml"

defaults:
run:
working-directory: complex-todos-svelte

jobs:
lint:
name: Lint (oxlint)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run lint

test:
name: Test (Mocha)
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run test:headless

e2e:
name: E2E (Cypress)
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- name: Start Meteor app
run: |
export METEOR_SETTINGS=$(cat settings.json)
meteor npm start &
- run: npx wait-on http://localhost:3000 --timeout 120000
- run: npm run e2e:headless
- uses: actions/upload-artifact@v4
if: failure()
with:
name: complex-todos-svelte-cypress
path: complex-todos-svelte/cypress/screenshots/
retention-days: 7
53 changes: 53 additions & 0 deletions .github/workflows/notes-offline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: notes-offline

on:
push:
branches: [main]
paths:
- "notes-offline/**"
- ".github/workflows/notes-offline.yml"
pull_request:
paths:
- "notes-offline/**"
- ".github/workflows/notes-offline.yml"

defaults:
run:
working-directory: notes-offline

jobs:
lint:
name: Lint (ESLint + Prettier)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run lint

test:
name: Test (Mocha)
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run test:headless

e2e:
name: E2E (Playwright)
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npx playwright install --with-deps chromium
- run: npm run e2e:headless
- uses: actions/upload-artifact@v4
if: failure()
with:
name: notes-offline-test-results
path: notes-offline/test-results/
retention-days: 7
53 changes: 53 additions & 0 deletions .github/workflows/parties.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: parties

on:
push:
branches: [main]
paths:
- "parties/**"
- ".github/workflows/parties.yml"
pull_request:
paths:
- "parties/**"
- ".github/workflows/parties.yml"

defaults:
run:
working-directory: parties

jobs:
lint:
name: Lint (RSLint)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run lint

test:
name: Test (Mocha)
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run test:headless

e2e:
name: E2E (Playwright)
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npx playwright install --with-deps chromium
- run: npm run e2e:headless
- uses: actions/upload-artifact@v4
if: failure()
with:
name: parties-test-results
path: parties/test-results/
retention-days: 7
53 changes: 53 additions & 0 deletions .github/workflows/task-manager.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: task-manager

on:
push:
branches: [main]
paths:
- "task-manager/**"
- ".github/workflows/task-manager.yml"
pull_request:
paths:
- "task-manager/**"
- ".github/workflows/task-manager.yml"

defaults:
run:
working-directory: task-manager

jobs:
lint:
name: Lint (Biome)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run lint

test:
name: Test (Mocha)
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run test:headless

e2e:
name: E2E (Playwright)
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npx playwright install --with-deps chromium
- run: npm run e2e:headless
- uses: actions/upload-artifact@v4
if: failure()
with:
name: task-manager-test-results
path: task-manager/test-results/
retention-days: 7
53 changes: 53 additions & 0 deletions .github/workflows/tic-tac-toe.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: tic-tac-toe

on:
push:
branches: [main]
paths:
- "tic-tac-toe/**"
- ".github/workflows/tic-tac-toe.yml"
pull_request:
paths:
- "tic-tac-toe/**"
- ".github/workflows/tic-tac-toe.yml"

defaults:
run:
working-directory: tic-tac-toe

jobs:
lint:
name: Lint (oxlint)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run lint

test:
name: Test (Mocha)
runs-on: ubuntu-latest
needs: lint
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npm run test:headless

e2e:
name: E2E (Playwright)
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- uses: meteorengineer/setup-meteor@v2
- run: meteor npm install
- run: npx playwright install --with-deps chromium
- run: npm run e2e:headless
- uses: actions/upload-artifact@v4
if: failure()
with:
name: tic-tac-toe-test-results
path: tic-tac-toe/test-results/
retention-days: 7
79 changes: 44 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,79 +83,88 @@
- Stack: Meteor, Rspack, Svelte
- Meteor Version: 3.4

### To migrate - WIP
#### Notes Offline
- Demo: N/A
- Repository: [meteor/examples/notes-offline](./notes-offline)
- Why: To show how to build an offline-first PWA notes app with Meteor using [jam:offline](https://docs.meteor.com/community-packages/offline), [jam:method](https://docs.meteor.com/community-packages/jam-method), [jam:pub-sub](https://docs.meteor.com/community-packages/pub-sub), [Mantine UI](https://mantine.dev), [Workbox](https://developer.chrome.com/docs/workbox) for PWA service worker via Rspack, and Zod validation
- Stack: Meteor, Rspack, React, Mantine UI, jam:offline, jam:method, jam:pub-sub, jam:soft-delete, Zod, Workbox, Mocha, ESLint, Prettier, Playwright
- Last Updated At: Mar/18/2026
- Meteor Version: 3.4

#### Tic tac toe
#### Tic-Tac-Toe
- Demo: [tic-tac-toe.meteorapp.com](https://tic-tac-toe.meteorapp.com)
- Repository: [meteor/examples/tic-tac-toe](./tic-tac-toe)
- Why: To show that we can even build multiplayer games with meteor.
- Stack: Meteor and React
- Last Updated At: Sep/06/2022
- Meteor Version: 2.7.3

#### Chakra UI
- Demo: [chakraui.meteorapp.com](https://chakraui.meteorapp.com/)
- Repository: [meteor/examples/chakra-ui](./chakra-ui)
- Why: To show how to set up [Chakra UI](https://chakra-ui.com/) + Icons + Dark Mode with Meteor
- Stack: Chakra UI, Meteor and React
- Last Updated At: Dec/02/2023
- Meteor Version: 3.0-alpha

#### Tailwindcss
- Why: To show that we can even build multiplayer games with Meteor
- Stack: Meteor, Rspack, React, MUI (Material UI), Mocha, oxlint, Playwright
- Last Updated At: Mar/17/2026
- Meteor Version: 3.4

#### Task Manager
- Demo: [tailwindcss.meteorapp.com](https://tailwindcss.meteorapp.com)
- Repository: [meteor/examples/tailwindcss](./tailwindcss)
- Why: To show how to set up [tailwindcss](https://tailwindcss.com/) with Meteor
- Stack: Tailwindcss, Meteor and React
- Last Updated At: Nov/10/2022
- Meteor Version: 2.8
- Repository: [meteor/examples/task-manager](./task-manager)
- Why: To show how to build a dynamic task management app with [Meteor-RPC](https://docs.meteor.com/community-packages/meteor-rpc.html), [shadcn/ui](https://ui.shadcn.com/), and [Tailwind CSS](https://tailwindcss.com/) — featuring full CRUD, Zod validation, and real-time reactivity
- Stack: Meteor, Rspack, React, Meteor-RPC, shadcn/ui, Tailwind CSS, React Query, Zod, Mocha, Biome, Playwright
- Last Updated At: Mar/18/2026
- Meteor Version: 3.4

### Leaderboards
#### Complex Todos (Svelte)
- Demo: N/A
- Repository: [meteor/examples/complex-todos-svelte](./complex-todos-svelte)
- Why: A comprehensive task management app with a modular monolith architecture (services, repositories, EventEmitter), [Skeleton UI](https://www.skeleton.dev/) + [Tailwind CSS v4](https://tailwindcss.com/) styling, Svelte 5 runes, [Cypress](https://www.cypress.io/) E2E tests (authentication, navigation, task CRUD), rate limiting, caching, migrations, and job scheduling
- Stack: Meteor, Rspack, Svelte 5, Skeleton UI, Tailwind CSS v4, jam:method, Zod, oxlint, Cypress, Mocha, MongoDB
- Last Updated At: Mar/19/2026
- Meteor Version: 3.4

#### NFT Marketplace
- Demo: N/A
- Repository: [meteor/examples/nft-marketplace](./nft-marketplace)
- Why: To show how to integrate web3 with Meteor
- Stack: Meteor, Rspack, React, TailwindCSS, Polygon, Solidity, Hardhat, Ethers.js, and IPFS
- Last Updated At: Mar/14/2026
- Meteor Version: 3.4

### To migrate - WIP

#### Leaderboards
- Demo: N/A
- Repository [meteor/leaderboards](https://github.com/meteor/leaderboard/)
- Why: Complete example of a small Blaze app with only client code that can update the DB.
- Stack: Meteor and Blaze
- Last Updated At: Jul/25/2021
- Meteor Version: 2.13.3

#### NFT Marketplace
- Demo: https://meteor-nft-marketplace.meteorapp.com (Instructions on how to use it are in the README.md of the project)
- Repository: [meteor/examples/nft-marketplace](./nft-marketplace)
- Why: To show how to integrate web3 with Meteor
- Stack: Meteor, React, TailwindCSS, Polygon, Solidity, Hardhat, Ethers.js, and IPFS
- Last Updated At: June/1/2022
- Meteor Version: 2.7.2

### Simple photo
#### Simple photo
- Demo: https://simple-photo.meteorapp.com/
- Repository [meteor/mobile-packages](https://github.com/meteor/mobile-packages/tree/devel/examples/simple-photo)
- Why: A simple example of `mdg:camera` package that allows you to take pictures from your web/phone camera.
- Stack: Meteor and Blaze
- Last Updated At: May/19/2025
- Meteor Version: 3.2.2

### Simple map
#### Simple map
- Demo: https://simple-map.meteorapp.com/
- Repository [meteor/mobile-packages](https://github.com/meteor/mobile-packages/tree/devel/examples/simple-map)
- Why: A simple example of using the `mdg:geolocation` package to get current geolocation and show them on maps.
- Stack: Meteor and Blaze
- Last Updated At: May/19/2025
- Meteor Version: 3.2.2

### Solomo
#### Solomo
- Demo: https://solomo.meteorapp.com/
- Repository [meteor/mobile-packages](https://github.com/meteor/mobile-packages/tree/devel/examples/solomo)
- Why: A simple example of using the `mdg:geolocation` and `mdg:camera` packages place images on a map.
- Stack: Meteor and Blaze
- Last Updated At: May/19/2025
- Meteor Version: 3.2.2

### Parties
#### Parties
- Demo: N/A
- Repository: [meteor/examples/parties](./parties)
- Why: One of the original Meteor examples showcasing how to build a nice working application with Blaze with very little code, while taking advantage of optimistic updates.
- Stack: Meteor, Blaze
- Stack: Meteor, Rspack, Blaze 3, Bootstrap 5, D3.js, RSLint, Playwright
- Last Updated At: August/23/2021
- Meteor Version: 2.3.5
- Meteor Version: 3.4

## How to add your example?

Expand Down
Loading
Loading