Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
ERP for a ceramic tile factory: warehouses, cash, production lines, counterparties,
purchasing, sales, finance (PnL) and payroll. FastAPI backend, static JS frontend,
plus a Telegram bot and Mini App.
Requires Python 3.12+.
run.py starts the web server and the Telegram bot together. Without a reachable
DATABASE_URL the app falls back to a local SQLite file (tile_erp.db).
• Dashboard: http://127.0.0.1:8000
• API docs: http://127.0.0.1:8000/docs
See .env.example. .env is gitignored and must never be committed.README 전문 보기 ↗ERP for a ceramic tile factory: warehouses, cash, production lines, counterparties, purchasing, sales, finance (PnL) and payroll. FastAPI backend, static JS frontend, plus a Telegram bot and Mini App.
Requires Python 3.12+.
pip install -r requirements.txt
cp .env.example .env # then fill in TELEGRAM_BOT_TOKEN and DATABASE_URL
python run.py
run.py starts the web server and the Telegram bot together. Without a reachable
DATABASE_URL the app falls back to a local SQLite file (tile_erp.db).
See .env.example. .env is gitignored and must never be committed.
| Variable | Purpose |
|---|---|
TELEGRAM_BOT_TOKEN | Bot token from @BotFather. No default - the bot is skipped if unset. |
DATABASE_URL | Postgres connection string. Falls back to SQLite if unreachable. |
WEBAPP_HTTPS_URL | Public HTTPS URL serving /webapp, for the Mini App button. |
BOT_READ_ONLY | 1 (default) = bot is view-only. 0 re-enables the entry wizards. |
TELEGRAM_POLLING | 1 = run.py also runs the bot by long polling (local testing only). |
The bot runs on Vercel with the web app, through a webhook: Telegram sends
each message to /api/telegram/webhook and the bot answers it there with the
TELEGRAM_BOT_TOKEN set in Vercel. Nothing else needs to stay running.
telegram_bot_state
table, since each message may be handled by a different server.TELEGRAM_POLLING=1 python run.py) removes the webhook, which
takes the live bot off the site - use it only with a separate test bot.The bot is read-only by default: it reports stock, cash, production, balances,
finance and payroll, and the entry buttons point to the web app, whose rules
(Ombor access, month closing, balances) the old bot wizards do not follow.
BOT_READ_ONLY=0 brings the cash, production and Ombor entry wizards back.
The site can be installed on a phone or computer and then opens in its own window from the home screen, like a normal app.
frontend/manifest.webmanifest describes the app and its icons
(frontend/icons/), and frontend/sw.js (served at /sw.js) only shows an
offline page when there is no internet - all data still comes live from the
server, so nothing stale is shown.
Screens up to 768px wide get a phone layout (frontend/js/mobile.js and the
last section of style.css); the computer layout is unchanged.
no-cards class to keep it a
table on phones.The web app and Mini App deploy to Vercel via its native FastAPI support. The
entrypoint is declared in pyproject.toml:
[tool.vercel]
entrypoint = "backend.main:app"
Pushes to main deploy automatically. Set DATABASE_URL in the Vercel project
environment (the Neon integration does this for you).
Note: do not add an api/index.py shim with a catch-all rewrite. Vercel's
rewrites replaces the request path, so the app receives /api/index for every
URL and returns 404 for everything.