Skip to content

Commit 0c48914

Browse files
committed
chore(release): prepare v1.0.0-rc1
1 parent 2aae55f commit 0c48914

67 files changed

Lines changed: 6261 additions & 36 deletions

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: CI/CD
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
# ===== Backend Tests =====
11+
test-backend:
12+
name: Backend Tests
13+
runs-on: ubuntu-latest
14+
15+
services:
16+
postgres:
17+
image: postgres:15
18+
env:
19+
POSTGRES_USER: postgres
20+
POSTGRES_PASSWORD: postgres
21+
POSTGRES_DB: open_bionic_test
22+
ports:
23+
- 5432:5432
24+
options: >-
25+
--health-cmd pg_isready
26+
--health-interval 10s
27+
--health-timeout 5s
28+
--health-retries 5
29+
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- name: Set up Elixir
34+
uses: erlef/setup-beam@v1
35+
with:
36+
elixir-version: "1.15"
37+
otp-version: "26"
38+
39+
- name: Cache deps
40+
uses: actions/cache@v3
41+
with:
42+
path: open_bionic_lib/deps
43+
key: ${{ runner.os }}-mix-${{ hashFiles('open_bionic_lib/mix.lock') }}
44+
restore-keys: ${{ runner.os }}-mix-
45+
46+
- name: Install dependencies
47+
working-directory: open_bionic_lib
48+
run: mix deps.get
49+
50+
- name: Compile
51+
working-directory: open_bionic_lib
52+
run: mix compile --warnings-as-errors
53+
54+
- name: Run tests
55+
working-directory: open_bionic_lib
56+
run: mix test
57+
env:
58+
MIX_ENV: test
59+
60+
# ===== Frontend Tests =====
61+
test-frontend:
62+
name: Frontend Tests
63+
runs-on: ubuntu-latest
64+
65+
steps:
66+
- uses: actions/checkout@v4
67+
68+
- name: Set up Node.js
69+
uses: actions/setup-node@v4
70+
with:
71+
node-version: "20"
72+
cache: "npm"
73+
cache-dependency-path: frontend/package-lock.json
74+
75+
- name: Install dependencies
76+
working-directory: frontend
77+
run: npm ci
78+
79+
- name: Type check
80+
working-directory: frontend
81+
run: npm run type-check
82+
83+
- name: Build
84+
working-directory: frontend
85+
run: npm run build
86+
87+
# ===== Deploy =====
88+
deploy:
89+
name: Deploy to Fly.io
90+
needs: [test-backend, test-frontend]
91+
runs-on: ubuntu-latest
92+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
93+
94+
steps:
95+
- uses: actions/checkout@v4
96+
97+
- name: Set up Fly CLI
98+
uses: superfly/flyctl-actions/setup-flyctl@master
99+
100+
- name: Deploy to Fly.io
101+
run: flyctl deploy --remote-only
102+
env:
103+
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

.gitignore

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# OS
2+
.DS_Store
3+
Thumbs.db
4+
*.exe
5+
*.dll
6+
*.so
7+
*.dylib
8+
9+
# Node / Frontend
10+
node_modules/
11+
dist/
12+
coverage/
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
npm-debug.log*
18+
yarn-debug.log*
19+
yarn-error.log*
20+
21+
# Elixir / Backend
22+
/_build/
23+
/db/
24+
/deps/
25+
/*.ez
26+
/open_bionic_lib/_build/
27+
/open_bionic_lib/deps/
28+
/open_bionic_lib/block_address/
29+
/open_bionic_lib/.elixir_ls/
30+
erl_crash.dump
31+
32+
# Editor
33+
.vscode/
34+
.idea/
35+
*.swp
36+
*.swo
37+
38+
# Project Specific
39+
*.log
40+
/logs/
41+
/tmp/
42+
.installer.lock
43+
state.json

10-DOCUMENTATION/MASTER_INDEX.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Open.Bionic Master Documentation Index
2+
3+
> **Version:** 1.0.0-rc1
4+
> **Status:** Release Candidate
5+
6+
---
7+
8+
## 📚 Core Documentation
9+
10+
| Document | Description | Audience |
11+
|----------|-------------|----------|
12+
| [README.md](../README.md) | Project Overview & Quick Install | All |
13+
| [INSTALLATION.md](../INSTALLATION.md) | Detailed Setup Guide | Developers |
14+
| [RELEASE_NOTES.md](../RELEASE_NOTES.md) | Version History & Artifacts | All |
15+
| [QUICK_REFERENCE.md](./QUICK_REFERENCE.md) | Cheat Sheet for Commands | Users |
16+
17+
## 🏗️ Squad Specifications
18+
19+
### 01. Orchestrator
20+
- [Project Vision](../01-ORCHESTRATOR/VISION.md)
21+
- [Squad Architecture](../01-ORCHESTRATOR/SQUADS.md)
22+
23+
### 02. Discovery
24+
- [Research Findings](../02-DISCOVERY-SQUAD/RESEARCH.md)
25+
- [Requirements](../02-DISCOVERY-SQUAD/REQUIREMENTS.md)
26+
27+
### 03. Design
28+
- [UI/UX Spec](../installations/specs/frontend_spec.md) (*Ref*)
29+
- [Brand System](../03-DESIGN-SQUAD/BRAND.md)
30+
31+
### 04. Building
32+
- [Backend Spec](../installations/specs/backend_spec.md) (*Ref*)
33+
- [Database Schema](../installations/specs/database_spec.md) (*Ref*)
34+
- [Frontend Architecture](../installations/specs/frontend_spec.md) (*Ref*)
35+
36+
### 05. Quality
37+
- [Test Plan](../05-QA-TESTING-SQUAD/TEST_PLAN.md)
38+
- [Performance Targets](../05-QA-TESTING-SQUAD/PERFORMANCE.md)
39+
40+
### 06. Security & DevOps
41+
- [Installer Spec](../installations/specs/installer_spec.md)
42+
- [Threat Model](../06-SECURITY-SQUAD/THREAT_MODEL.md)
43+
- [CI/CD Pipeline](../installations/ci/installer-policy.yml)
44+
45+
---
46+
47+
## 🛠️ Developer Resources
48+
49+
### Commands
50+
- **Frontend Build:** `cd frontend && npm run build`
51+
- **Backend Test:** `cd open_bionic_lib && mix test`
52+
- **Installer Build:** `go build -o open_bionic installations/core/main.go`
53+
54+
### Directory Structure
55+
```
56+
Open.Bionic/
57+
├── open_bionic_lib/ # Phoenix Backend
58+
├── frontend/ # Vite Frontend
59+
├── installations/ # Universal Installer
60+
│ ├── bootstrap/
61+
│ ├── core/
62+
│ └── ci/
63+
└── 10-DOCUMENTATION/ # You are here
64+
```
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Open.Bionic Quick Reference
2+
3+
## 🚀 Installation
4+
5+
**Universal Installer (Recommended)**
6+
```bash
7+
# macOS / Linux
8+
curl -fsSL https://github.com/Ahmadkhaled11/Open.Bionic/releases/latest/download/install.sh | sh
9+
10+
# Windows (PowerShell)
11+
irm https://github.com/Ahmadkhaled11/Open.Bionic/releases/latest/download/install.ps1 | iex
12+
```
13+
14+
---
15+
16+
## ⌨️ Shortcuts (Frontend)
17+
18+
| Key | Action |
19+
|-----|--------|
20+
| `Tab` | Focus next element |
21+
| `Shift+Tab` | Focus previous element |
22+
| `Enter` | Activate button |
23+
| `Escape` | Clear text input |
24+
25+
---
26+
27+
## 🔧 CLI Tools (Backend)
28+
29+
| Command | Description |
30+
|---------|-------------|
31+
| `mix phx.server` | Start backend server |
32+
| `mix test` | Run test suite |
33+
| `mix deps.get` | Install dependencies |
34+
35+
---
36+
37+
## ❓ Troubleshooting
38+
39+
**"Failed to connect to backend"**
40+
1. Ensure Docker is running OR you have Elixir installed.
41+
2. Check if port `4000` is already in use.
42+
3. Verify `http://localhost:4000/api/v1/health` returns JSON.
43+
44+
**"Installer permission denied"**
45+
- **Unix:** Run `chmod +x install.sh`
46+
- **Windows:** Run PowerShell as Administrator.
47+
48+
**"Build failed"**
49+
- Check Node.js version (`node -v` should be >= 20)
50+
- Check Elixir version (`elixir -v` should be >= 1.15)

INSTALLATION.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Open.Bionic Installation Guide
2+
3+
## Prerequisites Installation
4+
5+
### Step 1: Install Elixir & Erlang (Windows)
6+
7+
**Option A: Using Chocolatey (Recommended)** - Requires Admin Rights
8+
9+
```powershell
10+
# Run PowerShell as Administrator
11+
choco install elixir -y
12+
```
13+
14+
**Option B: Using Direct Installers**
15+
16+
1. Download Erlang/OTP 26: https://www.erlang.org/downloads
17+
2. Download Elixir 1.15: https://github.com/elixir-lang/elixir/releases
18+
3. Install both in order (Erlang first, then Elixir)
19+
4. Add to PATH if not automatically added
20+
21+
```powershell
22+
elixir --version
23+
mix --version
24+
```
25+
26+
### Step# 🛠️ Installation & Setup Guide
27+
28+
## Prerequisites
29+
30+
Before starting, ensure you have the following installed:
31+
1. **Node.js**: [Download v20+](https://nodejs.org/)
32+
2. **Elixir**: [Download v1.15+](https://elixir-lang.org/install.html) (Optional for frontend-only dev)
33+
3. **PostgreSQL**: [Download v15+](https://www.postgresql.org/download/) (Optional for frontend-only dev)
34+
4. **Git**: [Download](https://git-scm.com/)
35+
36+
---
37+
38+
## 🚀 Quick Start (Frontend Only)
39+
40+
The frontend is designed to work standalone with a mock API for development.
41+
42+
1. **Navigate to the frontend directory:**
43+
```powershell
44+
cd frontend
45+
```
46+
47+
2. **Install dependencies:**
48+
```powershell
49+
npm install
50+
```
51+
52+
3. **Start the development server:**
53+
```powershell
54+
npm run dev
55+
```
56+
57+
> Access the app at **http://localhost:3000**
58+
59+
---
60+
61+
## ⚡ Full Stack Setup
62+
63+
### 1. Backend Setup (Elixir/Phoenix)
64+
65+
> **Note:** Requires Elixir and PostgreSQL installed.
66+
67+
1. **Navigate to backend directory:**
68+
```powershell
69+
cd open_bionic_lib
70+
```
71+
72+
2. **Install dependencies:**
73+
```powershell
74+
mix deps.get
75+
```
76+
77+
3. **Setup Database:**
78+
```powershell
79+
mix ecto.setup
80+
```
81+
82+
4. **Start Server:**
83+
```powershell
84+
mix phx.server
85+
```
86+
> API runs on **http://localhost:4000**
87+
88+
### 2. Frontend Integration
89+
90+
1. **Navigate to frontend:**
91+
```powershell
92+
cd frontend
93+
```
94+
95+
2. **Start with API mode:**
96+
```powershell
97+
npm run dev
98+
```
99+
The frontend will automatically detect the backend at `http://localhost:4000`.
100+
101+
---
102+
103+
## 🐳 Docker Setup (Recommended for Deployment)
104+
105+
Build and run the entire stack (Frontend + Backend + Database) with one command:
106+
107+
```powershell
108+
docker-compose up --build
109+
```
110+
111+
- Frontend: http://localhost:3000
112+
- Backend: http://localhost:4000
113+
- Database: port 5432
114+
115+
---
116+
117+
## ✅ Verification
118+
119+
- [ ] **Frontend**: Open `http://localhost:3000` - should see "Open|Bionic"
120+
- [ ] **Backend**: Get `http://localhost:4000/api/v1/health` - should return JSON
121+
- [ ] **Tests**: Run `npm run type-check` in frontend folder

0 commit comments

Comments
 (0)