opencompany
스스로 개선하는 AI가 사업 전체를 운영, 6명 AI 직원이 개발·디자인·회계·영업·마케팅·세무를 200개 모델로 자동화
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Lead tracking for a service company: import leads, call and follow up, collect requirements, run the prototype loop, negotiate, win. CRM Administrators get a dashboard.
Pages: / home, /login, then /dashboard (CRM Administrators), /leads, /follow-ups, /calendar, /import, /team, /settings, /profile. Press Ctrl+K anywhere inside the app to search leads or jump to a page. The logo animation plays once when someone clicks Sign in on the home page.
| Part | Tech | Folder |
|---|---|---|
| Website | Next.js 16 (React, Tailwind, Recharts) | frontend/ |
| API | Django, plain SQL through psycopg (no ORM) | backend/ |
| Database | PostgreSQL on Neon (27 tables, see backend/schema.sql) | |
| Console in development, Brevo SMTP when configured | ||
| Files | Local backend/media/ until Backblaze B2 is configured |
You need Python 3.12+ and Node 20+. Open two terminals.
1. API (port 8001, because 8000 is blocked on some Windows machines)
cd backend
pip install -r requirements.txt
python manage.py runserver 8001
backend/.env must contain your Neon DATABASE_URL. The tables already exist. To start again from scratch (deletes every lead and user, then creates the three team accounts):
python manage.py setup_team
2. Website (port 3000)
cd frontend
npm install
npm run dev
Open http://localhost:3000. The website forwards every /api/... request to the API, so there is no CORS setup.
| Name | Role | |
|---|---|---|
| Aayush Mahendru | [email protected] | CRM Administrator |
| Aditi Vad | [email protected] | CRM Administrator |
| Kishore Reddy R | [email protected] | Technical Analyst |
The first-time password is INITIAL_PASSWORD in backend/crm/management/commands/setup_team.py (or set SETUP_PASSWORD before running the command). Everyone should change it on their Profile page.
Set these in backend/.env (and in Render's environment). Without them, emails print in the API terminal.
BREVO_SMTP_USER=your-brevo-login
BREVO_SMTP_KEY=your-brevo-smtp-key
DEFAULT_FROM_EMAIL=CRM <you@your-verified-sender>
APP_URL=https://your-website-url
Verify the sender address (or domain) in Brevo first, or mail will land in spam.
Create a private bucket and an application key, then set:
B2_ENDPOINT=https://s3.<region>.backblazeb2.com
B2_KEY_ID=...
B2_APP_KEY=...
B2_BUCKET=...
The Files tab switches to B2 automatically; downloads use a 5-minute signed link. Files already saved locally are not moved.
People can change their password on Profile, or use Forgot password? on the login page to get a one-time link by email (valid for one hour). Until Brevo is connected, the email text prints in the API terminal.
Set CRON_SECRET to a long random string, then have a free scheduler (cron-job.org or a GitHub Action) call this every 10 minutes:
GET https://your-api-url/api/cron/reminders?token=<CRON_SECRET>
Or run python manage.py send_reminders from any scheduler.
backend): build pip install -r requirements.txt, start gunicorn config.wsgi. Set DEBUG=0, SECRET_KEY (long random), ALLOWED_HOSTS (your Render host), DATABASE_URL, and the email, B2 and cron variables above. Use Neon's pooled connection string.frontend): build npm run build, start npm start. Set BACKEND_URL to the API's public URL.DATABASE_URL once if backend/.env is missing, starts the API and the website, and opens http://localhost:3000.| CRM Administrator | Technical Analyst | CRM Executive | |
|---|---|---|---|
| Leads visible | All | Prototype stage onward, plus ones assigned to them | Ones they added or own |
| Dashboard | Yes | No | No |
| Team and dropdown lists | Edit | No | No |
| Delete a lead | Yes | No | No |
backend/
schema.sql the 27 tables, indexes, seed lists
config/ settings and URL routes
crm/db.py psycopg connection pool and helpers
crm/auth.py signed-cookie login
crm/views/ accounts, leads, work (calls, follow-ups, requirements, rounds),
meetings, dashboard, files
crm/emails.py email sending and calendar files
crm/reminders.py due follow-up emails
crm/storage.py local folder or Backblaze B2
frontend/
app/ pages: dashboard, leads, lead detail, follow-ups, calendar, import, team
components/ shared UI, lead dialogs, lead tabs, meeting dialog
lib/ API client, types, formatting, auth and lookups context
See the CRM Database Guide (PDF) for what every table and column means.