GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” pushwing - Overview

@pushwing pushwing Follow
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
@pushwing
pushwing
Follow
View pushwing's full-sized avatar
๐Ÿ 
Working from home

Jongwon Byun pushwing

๐Ÿ 
Working from home
Follow
Backend dev building AIvance, an AI-powered SaaS suite (licensing, tax/POS, ticketing, content). PHP/CodeIgniter 4 ยท REST APIs ยท JWT auth ยท solo-agency boilerpl
4 followers ยท 2 following
  • @aivance-kr
  • korea
  • 00:51 (UTC +09:00)
  • aivance.kr

Achievements

Achievement: Pull Sharkx4Achievement: Pair Extraordinairex4Achievement: QuickdrawAchievement: YOLOAchievement: Starstruck

Achievements

Achievement: Pull Sharkx4Achievement: Pair Extraordinairex4Achievement: QuickdrawAchievement: YOLOAchievement: Starstruck
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
pushwing/README.md

Pushwing

์ž์ฒด ์•ฑ์ด ์—†๋Š” ์›น์‚ฌ์ดํŠธ(๋™ํ˜ธํšŒ, ์ปค๋ฎค๋‹ˆํ‹ฐ ๋“ฑ)๊ฐ€ ๊ณต์šฉ ์•ฑ์„ ํ†ตํ•ด ์Šค๋งˆํŠธํฐ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ๋ฐœ์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํŒŒํŠธ๋„ˆ ์›น์‚ฌ์ดํŠธ์—์„œ ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก์„ ํ†ตํ•ด ํ•ด๋‹น ์‚ฌ์ดํŠธ ํšŒ์›๋“ค์—๊ฒŒ ํ‘ธ์‹œ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์˜คํ”ˆ ๋ฐฐ๊ฒฝ

2๋…„ ๊ฐ€๊นŒ์ด ์šด์˜์„ ํ•ด์™”์œผ๋‚˜ ๋ฉค๋ฒ„๋“ค ์‚ฌ์ •์œผ๋กœ ์ธํ•ด ์‚ฌ์—…์„ ์ ‘๊ณ  ์†Œ์Šค๋ฅผ ์˜คํ”ˆํ•˜๊ธฐ๋กœ ๊ฒฐ์ •.

๊ธฐ์—ฌ์ž

  • ์›…ํŒŒ (cikorea.net, [email protected]) โ€” ๊ธฐํš, ๋ฐฑ์—”๋“œ
  • ๋ถˆ์˜ํšŒ์ƒ (cikorea.net) โ€” Android, iOS

์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

pushwing/
โ”œโ”€โ”€ android/        # Android ํด๋ผ์ด์–ธํŠธ ์•ฑ (Eclipse ํ”„๋กœ์ ํŠธ)
โ”œโ”€โ”€ engine/         # RESTful API ์„œ๋ฒ„ (์ˆœ์ˆ˜ PHP)
โ”œโ”€โ”€ web/            # ๊ด€๋ฆฌ ์›น์‚ฌ์ดํŠธ (CodeIgniter 2.x ๊ธฐ๋ฐ˜)
โ””โ”€โ”€ plgins/
    โ”œโ”€โ”€ codeigniter/ # CI์šฉ ํ‘ธ์‹œ ๋ฐœ์†ก ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    โ””โ”€โ”€ gnu/         # ๊ทธ๋ˆ„๋ณด๋“œ ์—ฐ๋™ ํ”Œ๋Ÿฌ๊ทธ์ธ

์ปดํฌ๋„ŒํŠธ๋ณ„ ์„ค๋ช…

Android ์•ฑ (android/)

  • GCM (Google Cloud Messaging) ๊ธฐ๋ฐ˜ ํ‘ธ์‹œ ์ˆ˜์‹ 
  • ์•ฑ ์„ค์น˜ ์‹œ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ + GCM registration ID๋ฅผ ์„œ๋ฒ„์— ๋“ฑ๋ก
  • ํ‘ธ์‹œ ์ˆ˜์‹  ์‹œ SQLite์— ์ €์žฅํ•˜๊ณ  ์•Œ๋ฆผ ํ‘œ์‹œ (์†Œ๋ฆฌ/์ง„๋™ ์„ค์ • ๊ฐ€๋Šฅ)
  • Google AdMob ๊ด‘๊ณ  ํƒ‘์žฌ

REST API ์—”์ง„ (engine/)

์ˆœ์ˆ˜ PHP REST API (CodeIgniter ๋ฏธ์‚ฌ์šฉ).

์—”๋“œํฌ์ธํŠธ ์„ค๋ช…
sd ๋””๋ฐ”์ด์Šค ๋“ฑ๋ก (ํœด๋Œ€ํฐ๋ฒˆํ˜ธ + GCM ID)
go ์•ฑ ์‹œ์ž‘ ์‹œ ๊ด‘๊ณ  on/off ํ”Œ๋ž˜๊ทธ ์กฐํšŒ
fd ํ‘ธ์‹œ ๋‚ด์šฉ ์กฐํšŒ
nl / nv ๊ณต์ง€์‚ฌํ•ญ ๋ชฉ๋ก / ์ƒ์„ธ
vr / cr ๊ด‘๊ณ  ๋…ธ์ถœ / ํด๋ฆญ ๋ฆฌํฌํŠธ

์›น ๊ด€๋ฆฌ ์„œ๋ฒ„ (web/)

  • CodeIgniter 2.x ํ”„๋ ˆ์ž„์›Œํฌ
  • ํŒŒํŠธ๋„ˆ ์›น์‚ฌ์ดํŠธ ๊ด€๋ฆฌ, ๋ฌธ์˜ ์ ‘์ˆ˜, ํ‘ธ์‹œ ๋ฐœ์†ก
  • push_wait ํ…Œ์ด๋ธ” ํ ๋ฐฉ์‹์œผ๋กœ iOS(APNS) ๋ฐ Android(GCM) ๋ฐœ์†ก
  • tank_auth ๊ธฐ๋ฐ˜ ๊ด€๋ฆฌ์ž ์ธ์ฆ

ํŒŒํŠธ๋„ˆ์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ (plgins/)

ํŒŒํŠธ๋„ˆ ์›น์‚ฌ์ดํŠธ์—์„œ ํ•œ ๋ฉ”์„œ๋“œ๋กœ ํ‘ธ์‹œ๋ฅผ ๋ฐœ์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

$this->pushwing->send_push($hp, $subject, $contents, $url);

ํ‘ธ์‹œ ๋ฐœ์†ก ํ”Œ๋กœ์šฐ

ํŒŒํŠธ๋„ˆ ์›น์‚ฌ์ดํŠธ
 โ†’ pushwing ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ push_wait ํ…Œ์ด๋ธ”์— INSERT
 โ†’ /push/send_all ํฌ๋ก  ์‹คํ–‰
 โ†’ push_m ๋ชจ๋ธ์ด push_wait๋ฅผ ์ฝ์–ด GCM/APNS ๋ฐœ์†ก
 โ†’ push_end ํ…Œ์ด๋ธ”๋กœ ์ด๋™ (๋ฐœ์†ก ๊ธฐ๋ก)
 โ†’ ์•ฑ์ด ์ˆ˜์‹  โ†’ ์•Œ๋ฆผ ํ‘œ์‹œ

๊ธฐ์ˆ  ์Šคํƒ

๋ ˆ์ด์–ด ๊ธฐ์ˆ 
Android ์•ฑ Java, GCM, Volley, AdMob, SQLite
REST API PHP 5.x, MySQL
์›น ์„œ๋ฒ„ CodeIgniter 2.x, PHP, MySQL, tank_auth
iOS ํ‘ธ์‹œ APNS (์ธ์ฆ์„œ ๋ฐฉ์‹)
Android ํ‘ธ์‹œ GCM (๊ตฌ๋ฒ„์ „, ํ˜„ FCM์œผ๋กœ ๋Œ€์ฒด๋จ)

์„ค์น˜ ๋ฐ ์„ค์ •

1. DB ์„ค์ •

engine/eg.php ์—์„œ DB ์ ‘์† ์ •๋ณด๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

$this->db = new MySQL('๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…', '์•„์ด๋””', '๋น„๋ฐ€๋ฒˆํ˜ธ', 'localhost');

web/application/config/database.php ์—์„œ CodeIgniter DB ์„ค์ •์„ ํ•ฉ๋‹ˆ๋‹ค.

2. GCM ํ‚ค ์„ค์ •

web/application/models/push_m.php ์˜ init_curl() ์—์„œ GCM API ํ‚ค๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

$headers[] = 'Authorization:key=YOUR_GCM_KEY';

3. iOS APNS ์„ค์ •

web/application/config/ios.php ์—์„œ APNS ์ธ์ฆ์„œ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

web/apns-dev.pem, web/apns-pro.pem ์œ„์น˜์— ์ธ์ฆ์„œ๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

4. ํฌ๋ก  ๋“ฑ๋ก

push_wait ํ…Œ์ด๋ธ”์— ์Œ“์ธ ํ‘ธ์‹œ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐœ์†กํ•˜๋ ค๋ฉด ํฌ๋ก ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

* * * * * curl http://your-domain.com/push/send_all

5. ํŒŒํŠธ๋„ˆ ์›น์‚ฌ์ดํŠธ ์—ฐ๋™ (CodeIgniter)

plgins/codeigniter/pushwing/ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ CI ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๊ณ  ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

// config/pushwing.php
$config['pushwing_server']   = 'pushwing DB ์„œ๋ฒ„ ์ฃผ์†Œ';
$config['pushwing_id']       = 'DB ์•„์ด๋””';
$config['pushwing_password'] = 'DB ๋น„๋ฐ€๋ฒˆํ˜ธ';
$config['client_id']         = '๋ฐœ๊ธ‰๋ฐ›์€ ํด๋ผ์ด์–ธํŠธ ID';

์ฃผ์˜์‚ฌํ•ญ

  • GCM์€ 2019๋…„ ์ข…๋ฃŒ๋˜์–ด FCM(Firebase Cloud Messaging) ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • engine/eg.php ์˜ SQL ์ฟผ๋ฆฌ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋ฏ€๋กœ ์šด์˜ ์‹œ SQL Injection ๋Œ€๋น„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • API ํ‚ค, DB ํฌ๋ฆฌ๋ด์…œ ๋“ฑ ๋ฏผ๊ฐ ์ •๋ณด๋Š” ์†Œ์Šค์— ์ง์ ‘ ํฌํ•จํ•˜์ง€ ์•Š๋„๋ก ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜์„ธ์š”.

Pinned Loading

  1. aivance-kr/AICreo aivance-kr/AICreo Public

    ai web agency solution

    PHP 1

  2. aivance-kr/AICopia aivance-kr/AICopia Public

    AI๋กœ ์—…๋ฌดํšจ์œจ์„ฑ์„ ๋†’์—ฌ์ฃผ๋Š” ์‡ผํ•‘๋ชฐ ์†”๋ฃจ์…˜

    PHP 2

  3. aivance-kr/AITessera aivance-kr/AITessera Public

    AITessera โ€” ๊ณ ๋Œ€ ๋กœ๋งˆ์˜ ์‹ ์› ํ™•์ธ ์ฆํ‘œ(tessera)์—์„œ ์ด๋ฆ„์„ ๋”ด, ์•ˆ์ „ํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ† ํฐ ์ธ์ฆ ์„œ๋น„์Šค

    PHP 1

  4. aivance-kr/varius aivance-kr/varius Public

    ์—ฌ๋Ÿฌ ์žก๋‹คํ•œ.. ๊ทธ๋•Œ๊ทธ๋•Œ ์ƒ๊ฐ๋‚˜์„œ ๋งŒ๋“ค์–ด๋ณธ ๊ฒƒ๋“ค..

    PHP 1

  5. cikorea/ci4-board cikorea/ci4-board Public

    Bulletin board built with Codeigniter 4 (Contributor: Claude Code) Database reference: tab bbs

    PHP

Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.