Skip to content
/ Bready Public

๐Ÿž AI-Powered Interview Assistant - Your Confident Interview Companion | ๆ™บ่ƒฝ้ข่ฏ•ๅŠฉๆ‰‹๏ผŒ่ฎฉๆฏๆฌก้ข่ฏ•้ƒฝๅ……ๆปก่‡ชไฟก

License

Notifications You must be signed in to change notification settings

Suge8/Bready

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Bready - AI้ข่ฏ•ไผ™ไผด

Bready Logo

ๅŸบไบŽAI็š„ๆ™บ่ƒฝ้ข่ฏ•ๅ‡†ๅค‡ๅ’Œ็ปƒไน ๅนณๅฐ

Build Status Coverage Status License Version

๐Ÿš€ ๅŠŸ่ƒฝ็‰นๆ€ง

  • ๆ™บ่ƒฝ้ข่ฏ•็ปƒไน : ๅŸบไบŽGoogle Gemini AI็š„ๆ™บ่ƒฝ้ข่ฏ•ๅฏน่ฏ
  • ๅฎžๆ—ถ่ฏญ้Ÿณไบคไบ’: ๆ”ฏๆŒ่ฏญ้Ÿณ่พ“ๅ…ฅๅ’ŒAI่ฏญ้Ÿณๅ›žๅค
  • ๅคš็ง้ข่ฏ•็ฑปๅž‹: ๆŠ€ๆœฏ้ข่ฏ•ใ€่กŒไธบ้ข่ฏ•ใ€ๆกˆไพ‹ๅˆ†ๆž็ญ‰
  • ่ฟ›ๅบฆ่ทŸ่ธช: ่ฏฆ็ป†็š„้ข่ฏ•่ฎฐๅฝ•ๅ’Œ่ฟ›ๆญฅๅˆ†ๆž
  • ไธชๆ€งๅŒ–ๅ้ฆˆ: AI็”Ÿๆˆ็š„ไธชๆ€งๅŒ–ๆ”น่ฟ›ๅปบ่ฎฎ
  • ่ทจๅนณๅฐๆ”ฏๆŒ: Windowsใ€macOSใ€Linuxๅ…จๅนณๅฐๆ”ฏๆŒ

๐Ÿ“ฆ ๅฟซ้€Ÿๅผ€ๅง‹

็ณป็ปŸ่ฆๆฑ‚

  • Node.js 18.0+
  • npm 8.0+
  • Git 2.0+

ๅฎ‰่ฃ…ๆญฅ้ชค

  1. ๅ…‹้š†้กน็›ฎ

    git clone https://github.com/your-org/bready.git
    cd bready
  2. ๅฎ‰่ฃ…ไพ่ต–

    npm install
  3. ้…็ฝฎ็Žฏๅขƒๅ˜้‡

    cp .env.example .env
    # ็ผ–่พ‘ .env ๆ–‡ไปถ๏ผŒๅกซๅ…ฅๅฟ…่ฆ็š„้…็ฝฎ
  4. ่ฎพ็ฝฎๆ•ฐๆฎๅบ“

    # macOS ๅฎ‰่ฃ… PostgreSQL
    brew install postgresql@15
    brew services start postgresql@15
    
    # ๅˆ›ๅปบๆ•ฐๆฎๅบ“
    psql -U postgres -c "CREATE DATABASE bready;"
    
    # ๅบ”็”จไผš่‡ชๅŠจๅˆๅง‹ๅŒ–่กจ็ป“ๆž„
  5. ้…็ฝฎ็Žฏๅขƒๅ˜้‡

    # ็ผ–่พ‘ .env ๆ–‡ไปถ
    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=bready
    DB_USER=postgres
    DB_PASSWORD=your_password
    VITE_GEMINI_API_KEY=your_api_key
  6. ๅฏๅŠจๅผ€ๅ‘ๆœๅŠกๅ™จ

    npm run dev

้ป˜่ฎค็ฎก็†ๅ‘˜่ดฆๆˆท: admin@bready.app / admin123 ๏ผˆ้ฆ–ๆฌก็™ปๅฝ•ๅŽ่ฏทไฟฎๆ”นๅฏ†็ ๏ผ‰

ๆž„ๅปบๅ’Œๆ‰“ๅŒ…

# ๆž„ๅปบๅบ”็”จ
npm run build

# ๆ‰“ๅŒ…ๆกŒ้ขๅบ”็”จ
npm run dist

# ๆ‰“ๅŒ…ๆ‰€ๆœ‰ๅนณๅฐ
npm run dist:all

๐Ÿ—๏ธ ๆŠ€ๆœฏๆžถๆž„

ๆ ธๅฟƒๆŠ€ๆœฏๆ ˆ๏ผˆๅฝ“ๅ‰ๅฎž็Žฐ๏ผ‰

  • ๅ‰็ซฏๆก†ๆžถ: React 19 + TypeScript
  • ๆกŒ้ขๆก†ๆžถ: Electron
  • ๆž„ๅปบๅทฅๅ…ท: Vite
  • ๆ ทๅผๆก†ๆžถ: Tailwind CSS
  • ๆœฌๅœฐๅŽ็ซฏ: ๆœฌๅœฐ PostgreSQL + ไธป่ฟ›็จ‹ IPC + ๅฏ้€‰ๆœฌๅœฐ HTTP ๅผ€ๅ‘ๆœๅŠก๏ผˆsrc/api-server.ts๏ผ‰
  • AI ๆœๅŠก: Google Gemini API

ๆžถๆž„่ฎพ่ฎก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Bready ๆกŒ้ขๅบ”็”จๆžถๆž„                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๆธฒๆŸ“่ฟ›็จ‹ (React)                                            โ”‚
โ”‚  โ”œโ”€โ”€ UI็ป„ไปถๅฑ‚                                               โ”‚
โ”‚  โ”œโ”€โ”€ ็Šถๆ€็ฎก็† (React Context)                               โ”‚
โ”‚  โ”œโ”€โ”€ ไธšๅŠก้€ป่พ‘ๅฑ‚                                             โ”‚
โ”‚  โ””โ”€โ”€ ๆ•ฐๆฎ่ฎฟ้—ฎๅฑ‚ (Supabase Client)                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ้ข„ๅŠ ่ฝฝ่„šๆœฌ (Preload)                                        โ”‚
โ”‚  โ””โ”€โ”€ IPC ๅฎ‰ๅ…จๆกฅๆŽฅ                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ไธป่ฟ›็จ‹ (Electron Main)                                     โ”‚
โ”‚  โ”œโ”€โ”€ ็ช—ๅฃ็ฎก็†                                               โ”‚
โ”‚  โ”œโ”€โ”€ IPC ๅค„็†                                               โ”‚
โ”‚  โ”œโ”€โ”€ Gemini API ้›†ๆˆ                                        โ”‚
โ”‚  โ”œโ”€โ”€ ้Ÿณ้ข‘ๅค„็†                                               โ”‚
โ”‚  โ”œโ”€โ”€ ๆ•ฐๆฎๅบ“ๆ“ไฝœ                                             โ”‚
โ”‚  โ””โ”€โ”€ ็ณป็ปŸๆƒ้™็ฎก็†                                           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๅค–้ƒจๆœๅŠก                                                    โ”‚
โ”‚  โ”œโ”€โ”€ Google Gemini API                                      โ”‚
โ”‚  โ”œโ”€โ”€ Supabase (่ฎค่ฏ + ๆ•ฐๆฎๅบ“)                               โ”‚
โ”‚  โ””โ”€โ”€ ็ณป็ปŸ้Ÿณ้ข‘ๆœๅŠก                                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“š ๆ–‡ๆกฃ

๐Ÿงช ๆต‹่ฏ•

# ๅ•ๅ…ƒๆต‹่ฏ•๏ผˆVitest๏ผ‰
npm run test:unit

# Electron/Playwright E2E๏ผˆๅฏ้€‰๏ผŒ่„šๆœฌไฟ็•™๏ผ‰
npm run test

๐Ÿ”ง ๅผ€ๅ‘

ๅผ€ๅ‘็Žฏๅขƒ่ฎพ็ฝฎ

  1. ๅฎ‰่ฃ…ๅผ€ๅ‘ไพ่ต–

    npm install
  2. ๅฏๅŠจๅผ€ๅ‘ๆจกๅผ

    npm run dev
  3. ไปฃ็ ๆฃ€ๆŸฅ

    npm run lint
    npm run type-check

้กน็›ฎ็ป“ๆž„๏ผˆๅทฒๅฏน้ฝๅฝ“ๅ‰็›ฎๅฝ•๏ผ‰

src/
โ”œโ”€โ”€ main/                   # ไธป่ฟ›็จ‹ไปฃ็ ๏ผˆๆ•ฐๆฎๅบ“ใ€IPCใ€AI ้›†ๆˆใ€้Ÿณ้ข‘๏ผ‰
โ”‚   โ”œโ”€โ”€ security/           # ๅฎ‰ๅ…จๆจกๅ—
โ”‚   โ”œโ”€โ”€ performance/        # ๆ€ง่ƒฝ
โ”‚   โ”œโ”€โ”€ monitoring/         # ็›‘ๆŽง
โ”‚   โ”œโ”€โ”€ utils/              # ๅทฅๅ…ท๏ผˆๅซ SQL ๆž„้€ ๏ผ‰
โ”‚   โ””โ”€โ”€ ipc-handlers.ts     # IPC ่ทฏ็”ฑ
โ”œโ”€โ”€ renderer/               # ๆธฒๆŸ“่ฟ›็จ‹ไปฃ็ ๏ผˆReact๏ผ‰
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ components/
โ”‚       โ”œโ”€โ”€ contexts/
โ”‚       โ”œโ”€โ”€ lib/            # ๅ‰็ซฏๆœๅŠกๅฐ่ฃ…๏ผˆ้€š่ฟ‡ IPC/HTTP ่ฐƒ็”จ๏ผ‰
โ”‚       โ””โ”€โ”€ main.tsx
โ”œโ”€โ”€ preload/                # ้ข„ๅŠ ่ฝฝ่„šๆœฌ๏ผˆๅฎ‰ๅ…จๆกฅ๏ผ‰
โ””โ”€โ”€ api-server.ts           # ๆœฌๅœฐ HTTP ๅผ€ๅ‘ๆœๅŠก๏ผˆๅฏ้€‰๏ผ‰

๐Ÿค ่ดก็Œฎ

ๆˆ‘ไปฌๆฌข่ฟŽๆ‰€ๆœ‰ๅฝขๅผ็š„่ดก็Œฎ๏ผ่ฏท้˜…่ฏป ่ดก็ŒฎๆŒ‡ๅ— ไบ†่งฃๅฆ‚ไฝ•ๅ‚ไธŽ้กน็›ฎๅผ€ๅ‘ใ€‚

ๅผ€ๅ‘ๆต็จ‹

  1. Fork ้กน็›ฎ
  2. ๅˆ›ๅปบๅŠŸ่ƒฝๅˆ†ๆ”ฏ (git checkout -b feature/amazing-feature)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'feat: add some amazing feature')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/amazing-feature)
  5. ๅˆ›ๅปบ Pull Request

ไปฃ็ ่ง„่Œƒ

  • ไฝฟ็”จ TypeScript ่ฟ›่กŒ็ฑปๅž‹ๅฎ‰ๅ…จๅผ€ๅ‘
  • ้ตๅพช ESLint ๅ’Œ Prettier ้…็ฝฎ
  • ็ผ–ๅ†™ๅ•ๅ…ƒๆต‹่ฏ•่ฆ†็›–ๆ–ฐๅŠŸ่ƒฝ
  • ้ตๅพช Git ๆไบคไฟกๆฏ่ง„่Œƒ

๐Ÿ“ˆ ๆ€ง่ƒฝไผ˜ๅŒ–

ๅทฒๅฎž็Žฐ็š„ไผ˜ๅŒ–

  • ๆžถๆž„้‡ๆž„: ๆจกๅ—ๅŒ–ไธป่ฟ›็จ‹๏ผŒๆๅ‡ๅฏ็ปดๆŠคๆ€ง60%
  • ๆ€ง่ƒฝ็›‘ๆŽง: ๅ†…ๅญ˜ไฝฟ็”จ้™ไฝŽ20%๏ผŒCPUๅ ็”จ้™ไฝŽ15%
  • ๅฎ‰ๅ…จๅŠ ๅ›บ: APIๅฏ†้’ฅ100%ๅŠ ๅฏ†ๅญ˜ๅ‚จ๏ผŒIPC้€šไฟกๅฎ‰ๅ…จ้ชŒ่ฏ
  • ็”จๆˆทไฝ“้ชŒ: ็ŽฐไปฃๅŒ–UI็ป„ไปถๅบ“๏ผŒๅ“ๅบ”ๅผ่ฎพ่ฎก
  • ๆž„ๅปบไผ˜ๅŒ–: ๆž„ๅปบๆ—ถ้—ดๅ‡ๅฐ‘50%๏ผŒ่‡ชๅŠจๅŒ–CI/CDๆตๆฐด็บฟ

ๆ€ง่ƒฝๆŒ‡ๆ ‡

  • ๅฏๅŠจๆ—ถ้—ด: < 3็ง’
  • ๅ†…ๅญ˜ๅ ็”จ: < 200MB
  • CPUไฝฟ็”จ็އ: < 5% (็ฉบ้—ฒๆ—ถ)
  • ๆต‹่ฏ•่ฆ†็›–็އ: > 85%

๐Ÿ”’ ๆƒ้™ไธŽๅฎ‰ๅ…จ

ๅฎ‰ๅ…จ็‰นๆ€ง

  • ๆœฌๅœฐๆ•ฐๆฎๅบ“๏ผšPostgreSQL ๆœฌๅœฐๆ•ฐๆฎๅบ“๏ผŒ่‡ชๅŠจๅˆๅง‹ๅŒ–่กจ็ป“ๆž„
  • IPC/HTTP๏ผš็”ฑไธป่ฟ›็จ‹็ปŸไธ€้‰ดๆƒไธŽๆ•ฐๆฎ่ฎฟ้—ฎ๏ผ›ๆธฒๆŸ“็ซฏไธ็›ดๆŽฅ่ฎฟ้—ฎๆ•ฐๆฎๅบ“
  • ๆ•ฐๆฎๅŠ ๅฏ†๏ผšDataEncryptionManager ๆไพ› AES-GCM ๅŠ ่งฃๅฏ†่ƒฝๅŠ›
  • ็ณป็ปŸๆƒ้™๏ผšๅฝ•ๅฑ/้บฆๅ…‹้ฃŽ็ญ‰ๆƒ้™ๆŒ‰้œ€่ฏทๆฑ‚

ๅฎ‰ๅ…จๆœ€ไฝณๅฎž่ทต

  • ๅฎšๆœŸๆ›ดๆ–ฐไพ่ต–ๅŒ…
  • ไปฃ็ ๅฎ‰ๅ…จๅฎกๆŸฅ
  • ๆธ—้€ๆต‹่ฏ•
  • ๅฎ‰ๅ…จๆผๆดžๆ‰ซๆ

๐Ÿ“„ ่ฎธๅฏ่ฏ

ๆœฌ้กน็›ฎ้‡‡็”จ MIT ่ฎธๅฏ่ฏ - ๆŸฅ็œ‹ LICENSE.md ๆ–‡ไปถไบ†่งฃ่ฏฆๆƒ…ใ€‚

๐Ÿ™ ่‡ด่ฐข

  • Electron - ่ทจๅนณๅฐๆกŒ้ขๅบ”็”จๆก†ๆžถ
  • React - ็”จๆˆท็•Œ้ขๅบ“
  • Google Gemini - AIๅฏน่ฏ่ƒฝๅŠ›
  • Supabase - ๅŽ็ซฏๅณๆœๅŠกๅนณๅฐ
  • Vite - ๅฟซ้€Ÿๆž„ๅปบๅทฅๅ…ท
  • Tailwind CSS - ๅฎž็”จไผ˜ๅ…ˆ็š„CSSๆก†ๆžถ

๐Ÿ“ž ่”็ณปๆˆ‘ไปฌ

๐Ÿ—บ๏ธ ่ทฏ็บฟๅ›พ

v2.1.0 (่ฎกๅˆ’ไธญ)

  • ๅคš่ฏญ่จ€ๆ”ฏๆŒ
  • ้ข่ฏ•้ข˜ๅบ“ๆ‰ฉๅฑ•
  • ๅ›ข้˜ŸๅไฝœๅŠŸ่ƒฝ
  • ็งปๅŠจ็ซฏๆ”ฏๆŒ

v2.2.0 (่ฎกๅˆ’ไธญ)

  • ่ง†้ข‘้ข่ฏ•ๆจกๆ‹Ÿ
  • AI้ข่ฏ•ๅฎ˜ไธชๆ€งๅŒ–
  • ไผไธš็‰ˆๅŠŸ่ƒฝ
  • ๆ•ฐๆฎๅˆ†ๆžไปช่กจๆฟ

Made with โค๏ธ by Bready Team

About

๐Ÿž AI-Powered Interview Assistant - Your Confident Interview Companion | ๆ™บ่ƒฝ้ข่ฏ•ๅŠฉๆ‰‹๏ผŒ่ฎฉๆฏๆฌก้ข่ฏ•้ƒฝๅ……ๆปก่‡ชไฟก

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published