Skip to content

Commit 12b9655

Browse files
committed
docs: Add comprehensive Docusaurus documentation
- Set up Docusaurus v3 documentation site - Add complete API reference documentation - Add getting started guides for iOS and Android setup - Add implementation guides for products, subscriptions, and purchases - Add comprehensive examples including basic store, subscription store, and production-ready implementation - Add migration guides from v5.x and expo-iap - Add troubleshooting guide and FAQ - Configure VS Code workspace with launch configurations and tasks - Update .gitignore to exclude node_modules and build artifacts The documentation covers: * Installation and platform setup * Complete API reference with examples * Product and subscription management * Purchase flow implementation * Receipt validation and security * Error handling and testing * Migration strategies * Troubleshooting common issues
1 parent e93bc13 commit 12b9655

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+31103
-1
lines changed

.gitignore

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,23 @@ flutter_export_environment*
1515
launch.json
1616
.flutter-plugins-*
1717

18-
coverage
18+
coverage
19+
20+
# Node.js
21+
node_modules/
22+
npm-debug.log*
23+
yarn-debug.log*
24+
yarn-error.log*
25+
26+
# Docusaurus
27+
docs/.docusaurus/
28+
docs/.cache-loader/
29+
docs/build/
30+
docs/node_modules/
31+
32+
# VS Code
33+
.vscode/*
34+
!.vscode/launch.json
35+
!.vscode/tasks.json
36+
!.vscode/settings.json
37+
!.vscode/extensions.json

.vscode/extensions.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"recommendations": [
3+
// Flutter & Dart
4+
"dart-code.dart-code",
5+
"dart-code.flutter",
6+
7+
// Documentation
8+
"yzhang.markdown-all-in-one",
9+
"davidanson.vscode-markdownlint",
10+
11+
// Code formatting
12+
"esbenp.prettier-vscode",
13+
14+
// Git
15+
"eamodio.gitlens",
16+
17+
// General development
18+
"streetsidesoftware.code-spell-checker",
19+
"usernamehw.errorlens",
20+
"christian-kohler.path-intellisense",
21+
22+
// TypeScript/JavaScript (for Docusaurus)
23+
"dbaeumer.vscode-eslint",
24+
"ms-vscode.vscode-typescript-tslint-plugin"
25+
]
26+
}

.vscode/launch.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "node",
9+
"request": "launch",
10+
"name": "Start Docusaurus",
11+
"cwd": "${workspaceFolder}/docs",
12+
"runtimeExecutable": "npm",
13+
"runtimeArgs": ["run", "start"],
14+
"console": "integratedTerminal",
15+
"internalConsoleOptions": "neverOpen",
16+
"env": {
17+
"NODE_ENV": "development"
18+
}
19+
},
20+
{
21+
"type": "node",
22+
"request": "launch",
23+
"name": "Build Docusaurus",
24+
"cwd": "${workspaceFolder}/docs",
25+
"runtimeExecutable": "npm",
26+
"runtimeArgs": ["run", "build"],
27+
"console": "integratedTerminal",
28+
"internalConsoleOptions": "neverOpen"
29+
},
30+
{
31+
"type": "node",
32+
"request": "launch",
33+
"name": "Serve Docusaurus Build",
34+
"cwd": "${workspaceFolder}/docs",
35+
"runtimeExecutable": "npm",
36+
"runtimeArgs": ["run", "serve"],
37+
"console": "integratedTerminal",
38+
"internalConsoleOptions": "neverOpen"
39+
},
40+
{
41+
"name": "Flutter: Attach to Device",
42+
"type": "dart",
43+
"request": "attach"
44+
},
45+
{
46+
"name": "Flutter: Run Example App",
47+
"type": "dart",
48+
"request": "launch",
49+
"program": "${workspaceFolder}/example/lib/main.dart"
50+
},
51+
{
52+
"name": "Flutter: Run Example App (Profile Mode)",
53+
"type": "dart",
54+
"request": "launch",
55+
"program": "${workspaceFolder}/example/lib/main.dart",
56+
"flutterMode": "profile"
57+
},
58+
{
59+
"name": "Flutter: Run Example App (Release Mode)",
60+
"type": "dart",
61+
"request": "launch",
62+
"program": "${workspaceFolder}/example/lib/main.dart",
63+
"flutterMode": "release"
64+
}
65+
],
66+
"compounds": []
67+
}

.vscode/settings.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
// Editor settings
3+
"editor.formatOnSave": true,
4+
"editor.codeActionsOnSave": {
5+
"source.fixAll": true
6+
},
7+
8+
// Dart & Flutter settings
9+
"dart.flutterSdkPath": null,
10+
"[dart]": {
11+
"editor.rulers": [80],
12+
"editor.selectionHighlight": false,
13+
"editor.suggest.snippetsPreventQuickSuggestions": false,
14+
"editor.suggestSelection": "first",
15+
"editor.tabCompletion": "onlySnippets",
16+
"editor.wordBasedSuggestions": false
17+
},
18+
19+
// Files to exclude from explorer
20+
"files.exclude": {
21+
"**/.git": true,
22+
"**/.svn": true,
23+
"**/.hg": true,
24+
"**/CVS": true,
25+
"**/.DS_Store": true,
26+
"**/Thumbs.db": true,
27+
"**/node_modules": true,
28+
"**/.dart_tool": true,
29+
"**/.flutter-plugins": true,
30+
"**/.flutter-plugins-dependencies": true,
31+
"**/.packages": true,
32+
"**/build": true,
33+
"docs/.docusaurus": true,
34+
"docs/build": true
35+
},
36+
37+
// Search exclusions
38+
"search.exclude": {
39+
"**/node_modules": true,
40+
"**/bower_components": true,
41+
"**/*.code-search": true,
42+
"**/.dart_tool": true,
43+
"**/build": true,
44+
"docs/.docusaurus": true,
45+
"docs/build": true
46+
},
47+
48+
// TypeScript/JavaScript settings for Docusaurus
49+
"[typescript]": {
50+
"editor.defaultFormatter": "esbenp.prettier-vscode"
51+
},
52+
"[javascript]": {
53+
"editor.defaultFormatter": "esbenp.prettier-vscode"
54+
},
55+
"[json]": {
56+
"editor.defaultFormatter": "esbenp.prettier-vscode"
57+
},
58+
"[markdown]": {
59+
"editor.defaultFormatter": "esbenp.prettier-vscode"
60+
},
61+
62+
// Docusaurus specific
63+
"typescript.tsdk": "docs/node_modules/typescript/lib",
64+
"npm.packageManager": "npm"
65+
}

.vscode/tasks.json

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=733558
3+
// for the documentation about the tasks.json format
4+
"version": "2.0.0",
5+
"tasks": [
6+
{
7+
"label": "Docusaurus: Install Dependencies",
8+
"type": "shell",
9+
"command": "npm install",
10+
"options": {
11+
"cwd": "${workspaceFolder}/docs"
12+
},
13+
"group": "build",
14+
"presentation": {
15+
"reveal": "always",
16+
"panel": "new"
17+
},
18+
"problemMatcher": []
19+
},
20+
{
21+
"label": "Docusaurus: Start Dev Server",
22+
"type": "shell",
23+
"command": "npm run start",
24+
"options": {
25+
"cwd": "${workspaceFolder}/docs"
26+
},
27+
"group": "build",
28+
"presentation": {
29+
"reveal": "always",
30+
"panel": "new"
31+
},
32+
"problemMatcher": [],
33+
"isBackground": true
34+
},
35+
{
36+
"label": "Docusaurus: Build",
37+
"type": "shell",
38+
"command": "npm run build",
39+
"options": {
40+
"cwd": "${workspaceFolder}/docs"
41+
},
42+
"group": "build",
43+
"presentation": {
44+
"reveal": "always",
45+
"panel": "new"
46+
},
47+
"problemMatcher": []
48+
},
49+
{
50+
"label": "Docusaurus: Clear Cache",
51+
"type": "shell",
52+
"command": "npm run clear",
53+
"options": {
54+
"cwd": "${workspaceFolder}/docs"
55+
},
56+
"group": "none",
57+
"presentation": {
58+
"reveal": "always",
59+
"panel": "new"
60+
},
61+
"problemMatcher": []
62+
},
63+
{
64+
"label": "Flutter: Pub Get",
65+
"type": "shell",
66+
"command": "flutter pub get",
67+
"options": {
68+
"cwd": "${workspaceFolder}"
69+
},
70+
"group": "build",
71+
"presentation": {
72+
"reveal": "always",
73+
"panel": "new"
74+
},
75+
"problemMatcher": []
76+
},
77+
{
78+
"label": "Flutter: Run Tests",
79+
"type": "shell",
80+
"command": "flutter test",
81+
"options": {
82+
"cwd": "${workspaceFolder}"
83+
},
84+
"group": "test",
85+
"presentation": {
86+
"reveal": "always",
87+
"panel": "new"
88+
},
89+
"problemMatcher": []
90+
}
91+
]
92+
}

docs/README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Website
2+
3+
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.
4+
5+
## Installation
6+
7+
```bash
8+
yarn
9+
```
10+
11+
## Local Development
12+
13+
```bash
14+
yarn start
15+
```
16+
17+
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
18+
19+
## Build
20+
21+
```bash
22+
yarn build
23+
```
24+
25+
This command generates static content into the `build` directory and can be served using any static contents hosting service.
26+
27+
## Deployment
28+
29+
Using SSH:
30+
31+
```bash
32+
USE_SSH=true yarn deploy
33+
```
34+
35+
Not using SSH:
36+
37+
```bash
38+
GIT_USER=<Your GitHub username> yarn deploy
39+
```
40+
41+
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
slug: first-blog-post
3+
title: First Blog Post
4+
authors: [slorber, yangshun]
5+
tags: [hola, docusaurus]
6+
---
7+
8+
Lorem ipsum dolor sit amet...
9+
10+
<!-- truncate -->
11+
12+
...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
slug: long-blog-post
3+
title: Long Blog Post
4+
authors: yangshun
5+
tags: [hello, docusaurus]
6+
---
7+
8+
This is the summary of a very long blog post,
9+
10+
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
11+
12+
<!-- truncate -->
13+
14+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
15+
16+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
17+
18+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
19+
20+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
21+
22+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
23+
24+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
25+
26+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
27+
28+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
29+
30+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
31+
32+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
33+
34+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
35+
36+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
37+
38+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
39+
40+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
41+
42+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
43+
44+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

0 commit comments

Comments
 (0)