Skip to content

Repository files navigation

CoreStone

CoreStone

Open-source, self-hosted mobile backend platform.
Install once · manage many projects · ship apps faster.

GitHub stars License MIT .NET 8 Docker NuGet npm


What is CoreStone?

Every mobile app needs a backend — authentication, sessions, push notifications, support tickets, version policies, dynamic menus, analytics, and bridges to external APIs. Teams rebuild the same infrastructure for every new product, or stitch together fragmented SaaS tools with limited data ownership.

CoreStone solves this with a single deployable platform on your own infrastructure. Create isolated projects from the Management console (one per app or customer). Each project gets its own users, settings, notifications, support, menus, version rules, and HTTP/SQL integrations — all exposed through a consistent REST API and official SDKs.

Company  →  deploys CoreStone on their server
        →  creates Project A, B, C in Management
        →  each project has isolated data + project key (slug)
        →  mobile apps call /api/app/* with X-Project-Key
        →  operators manage everything from the Management panel

Features

Area Capabilities
Authentication Register, login, 2FA, password reset, email/phone verification, sessions
User management Profiles, devices, linked identities, admin moderation
Notifications Inbox with read/unread state, admin broadcast from Management
Support Ticket system with categories, agent replies, user-facing app API
Announcements Banners and modals with view tracking
Dynamic menus Database-backed navigation trees, publish workflow
Version management Force-update and maintenance policies per platform
Analytics Event ingestion to InfluxDB, dashboards in Management
API integrations HTTP connectors and SQL query bridges to external systems
Event routing Telegram, Slack, and email handlers for platform events

Architecture

CoreStone is a modular monolith: one deployable .NET 8 API with clear layer boundaries and optional Worker for background jobs. Project isolation is enforced at every data access layer via ProjectId.

flowchart LR
  subgraph clients [Clients]
    MGMT[Management UI]
    MOB[Mobile / Web Apps]
  end

  subgraph corestone [CoreStone]
    API[CoreStone.Api]
    APP[Application Layer]
    INF[Infrastructure]
    API --> APP --> INF
  end

  subgraph data [Data & Services]
    DB[(PostgreSQL / MySQL / SQL Server)]
    INFLUX[(InfluxDB)]
  end

  MGMT -->|Admin & Management API| API
  MOB -->|App API + X-Project-Key| API
  INF --> DB
  INF --> INFLUX
Loading
Component Description
CoreStone.Api HTTP endpoints — admin, management, app, public integrations
CoreStone.Application Use cases, DTOs, validators
CoreStone.Domain Entities and enums
CoreStone.Infrastructure EF Core, JWT, provider implementations
CoreStone.Worker Background jobs
Management UI React + Vite operator console (React Native Web)
SDKs .NET NuGet packages and @corestone/react-native

Repository structure

CoreStone/
├── backend/          # .NET 8 API, domain, infrastructure, worker
├── management/       # Management console (Vite + React Native Web)
├── docs/             # Interactive documentation site
├── sdk/
│   ├── dotnet/       # Official .NET SDK packages
│   └── react-native/ # Official React Native SDK
├── examples/         # Sample MAUI, ASP.NET Core, and Docker setups
└── docker-compose.prod.yml

Quick start

Production (Docker Hub images)

git clone https://github.com/alizorlu/corestone.git
cd corestone
cp backend/.env.example .env   # fill in secrets and CORS origin
docker compose -f docker-compose.prod.yml --profile postgres up -d
Service Default URL
API http://localhost:8080/swagger
Management http://localhost

Pre-built images: alizorlu/corestone-api, alizorlu/corestone-management

Development

Backend (PostgreSQL via Docker):

cd backend
cp .env.example .env
docker compose --profile postgres up --build

Management console:

cd management
npm install
npm run dev    # http://localhost:5173

Documentation site:

cd docs/web-site
node scripts/link-deps.cjs
npm run dev    # http://localhost:5174

Default seed admin (empty database):

Field Value
Email admin@corestone.local
Password ChangeMe123!

See backend/README.md for database providers, migrations, and environment variables.

SDKs

Connect your mobile or web app in minutes with official SDKs.

.NET

dotnet add package CoreStone.SDK.Dotnet.Configuration
dotnet add package CoreStone.SDK.Dotnet.Auth
dotnet add package CoreStone.SDK.Dotnet.Analytics

Works with ASP.NET Core, MAUI, Blazor, and any .NET 8/9 project.

sdk/dotnet/README.md · NuGet — pretech

React Native

npm install @corestone/react-native @react-native-async-storage/async-storage

Works with React Native CLI, Expo, and any React Native project.

sdk/react-native/README.md

Minimal integration

// React Native
<CoreStoneProvider config={{ apiUrl: 'https://api.example.com', projectKey: 'prj-xxx' }}>
  <App />
</CoreStoneProvider>
// .NET
builder.Services.AddCoreStoneConfiguration(o => {
    o.BaseUrl    = "https://api.example.com";
    o.ProjectKey = "prj-xxx";
}).AddCoreStoneAuth();

Your Project Key is available in Management → Projects → API Integration.

Documentation

Resource Description
docs/web-site/ Interactive docs — API reference, overview, architecture diagrams
docs/README.md Docs index and local run instructions
backend/README.md API, database, Docker, migrations
management/README.md Management console development
examples/ MAUI, ASP.NET Core, and Docker sample projects

The docs site supports English, Turkish, Russian, Chinese, and Arabic (RTL).

Supported platforms

Server: Linux, Windows, macOS (via Docker)

Client SDKs: React Native · .NET MAUI · ASP.NET Core Web · ASP.NET Core API · iOS · Android · Windows · macOS

Databases: PostgreSQL · MySQL / MariaDB · SQL Server

Who is it for?

Audience Why CoreStone
Independent mobile developers Skip boilerplate auth, notifications, and analytics
Agencies & software houses One infrastructure, many client apps as separate projects
SMBs Self-hosted control and full data ownership
Startups Fast MVP with room to scale on a modular monolith

Contributing

Contributions are welcome. Open an issue to discuss larger changes, or submit a pull request for bug fixes and improvements.

License

MIT — see LICENSE for details.

Author

Ali Zorlugithub.com/alizorlu


Built with .NET 8 · React · Vite · React Native Web · EF Core · PostgreSQL · InfluxDB · Docker

About

Open-source, self-hosted mobile backend platform. Auth, notifications, support, analytics & API integrations — one install, many isolated projects. .NET & React Native SDKs.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages