Skip to content

Commit 5413a3b

Browse files
authored
Initial setup (android, ios, typescript, rust), basic documentation and folder structure (#2)
* chore: add gitignore for ios * feat: add deps and setup for orm * feat: add pnpm setup * docs: add readme with folder structure * feat: add android setup * chore: add root level gitignore
1 parent 775d6ec commit 5413a3b

Some content is hidden

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

59 files changed

+1826
-1
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.DS_Store

README.md

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,67 @@
11
# wa-forge
22

3-
A WebAssebly ORM for writting SQLite queries. Can be used by web and mobile clients to query SQLite.
3+
WIP
4+
5+
A WebAssebly ORM for writting SQLite queries. Can be used by web and mobile clients to query SQLite. It includes clients for Web (React and Angular), iOS, and Android, along with a Rust-based ORM package.
6+
7+
## Project Structure
8+
9+
Below is the directory layout for the project:
10+
11+
```plaintext
12+
wa-forge/
13+
├── pnpm-workspace.yaml
14+
└── packages/
15+
├── client/
16+
│ ├── typescript/
17+
│ │ └── frameworks/
18+
│ │ ├── react/
19+
│ │ │ └── package.json (Thin client layer for React)
20+
│ │ └── angular/
21+
│ │ └── package.json (Thin client layer for Angular)
22+
│ ├── android/
23+
│ │ └── build.gradle (Wasm3, Android SQLite)
24+
│ └── iOS/
25+
│ └── Podfile (SQLite.swift, Wasm3)
26+
├── orm/
27+
│ └── Cargo.toml (rusqlite, Diesel, wasm-bindgen, wasm-pack)
28+
└── shared/
29+
└── ...
30+
```
31+
32+
## Setup
33+
34+
### Global Dependencies
35+
36+
1. Install PNPM:
37+
```bash
38+
npm install -g pnpm
39+
```
40+
41+
### WebAssembly (ORM)
42+
43+
Navigate to the `orm/` directory and build the Rust project with WebAssembly support:
44+
45+
```bash
46+
wasm-pack build
47+
```
48+
49+
### iOS Client
50+
51+
Navigate to the `client/iOS/` directory and install the required pods:
52+
53+
```bash
54+
pod install
55+
```
56+
57+
### Android Client
58+
59+
Open the `client/android/` directory in Android Studio and build the project.
60+
61+
### ORM
62+
63+
Navigate to the `orm/` directory and build the Rust project:
64+
65+
```bash
66+
cargo build
67+
```

packages/client/android/.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/caches
5+
/.idea/libraries
6+
/.idea/modules.xml
7+
/.idea/workspace.xml
8+
/.idea/navEditor.xml
9+
/.idea/assetWizardSettings.xml
10+
.DS_Store
11+
/build
12+
/captures
13+
.externalNativeBuild
14+
.cxx
15+
local.properties

packages/client/android/.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/.name

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/codeStyles/Project.xml

Lines changed: 123 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/compiler.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/gradle.xml

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/android/.idea/kotlinc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)