Skip to content

arki-s/miniCRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini CRM Monorepo

API CI

A minimal monorepo for a CRM product with a Django API today and a planned Next.js frontend.

Purpose

This project is a small CRM backend built to practice a real-world backend stack (Django REST Framework, JWT authentication, PostgreSQL) used in my current work.

The focus is not feature completeness, but:

  • API design and responsibility boundaries
  • Data modeling and query patterns
  • Authentication and authorization flow
  • Frontend–backend integration via REST APIs

This repository now keeps both application entrypoints in one place so API and web can evolve independently while sharing CI and repository settings.

Planned Features (MVP)

  • JWT-based authentication
  • Deal CRUD API
  • Deal list with filters
    • status (multiple)
    • keyword search (deal name / client name)
    • date range (created / updated)
  • Activity timeline per deal
  • Create and update activities
  • Owner-based data access control

API Overview (Planned)

Auth

  • POST /auth/login
  • POST /auth/refresh

Deals

  • GET /deals
  • POST /deals
  • GET /deals/{id}
  • PATCH /deals/{id}
  • DELETE /deals/{id} (optional)

Activities

  • GET /deals/{id}/activities
  • POST /deals/{id}/activities
  • PATCH /activities/{id}
  • DELETE /activities/{id}

Apps

  • apps/api: Django REST Framework API
  • apps/web: reserved for the future Next.js frontend

Tech Stack

  • Python 3.12+
  • Django
  • Django REST Framework
  • SQLite (local development)
  • Ruff (linting)
  • GitHub Actions (API CI today, Web CI later)

Project Structure

mini-crm-api/
├── apps/
│   ├── api/
│   │   ├── config/          # Django project settings
│   │   ├── crm/             # Core CRM app (models, views, serializers)
│   │   ├── manage.py
│   │   ├── pyproject.toml
│   │   └── requirements.txt
│   └── web/                 # Reserved for Next.js
├── .github/workflows/
│   └── api-ci.yml
└── README.md

Development Setup

  • python -m venv .venv
  • source .venv/bin/activate
  • pip install -r apps/api/requirements.txt
  • cd apps/api
  • python manage.py migrate
  • python manage.py runserver

CI

  • api-ci.yml runs only when apps/api/** or the API workflow changes
  • Web CI will be added when apps/web is scaffolded

Status

🚧 Work in Progress

  • Django + DRF project initialized
  • Health check endpoint implemented
  • API CI split out for the monorepo layout
  • Core models and APIs under development

About

顧客管理ミニアプリ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages