Skip to content

Latest commit

 

History

471 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chisto.mk

Chisto.mk

Snap it. Report it. Clean it.
Civic environmental platform for pollution reporting, cleanup events, and public impact data in Macedonia.

CI main CI develop Node 20+ pnpm

Live product

Surface URL
Marketing chisto.mk
API api.chisto.mk
Admin admin.chisto.mk
iOS (MK App Store) chisto-mk
Android (Google Play) Chisto.mk
Facebook facebook.com
Instagram @chisto.mk
LinkedIn Chisto.mk

Product

Capture It In Seconds

Architecture

flowchart LR
  subgraph clients [Clients]
    Landing[Landing Next.js]
    Admin[Admin Next.js]
    Mobile[Flutter iOS and Android]
  end

  subgraph aws [AWS eu-central-1]
    API[NestJS API]
    PG[(PostgreSQL PostGIS)]
    Redis[(Redis)]
    S3[(S3 media)]
  end

  Landing --> API
  Admin --> API
  Mobile --> API
  API --> PG
  API --> Redis
  API --> S3
Loading

Stack

Layer Technology
API NestJS, TypeScript, Prisma, PostgreSQL + PostGIS
Admin Next.js 15
Landing Next.js 15, next-intl (mk / en / sq)
Mobile Flutter 3.44, Melos workspace
Infra Terraform, ECS, RDS, ElastiCache. See infra/README.md

Quick start

Prerequisites

  • Node.js 20.19+
  • pnpm 10+ (corepack enable)
  • Docker (local Postgres)
  • Flutter 3.44+ (mobile only)

Setup

pnpm install
docker compose up -d postgres
cp .env.local.example .env
pnpm db:push
pnpm dev
Service Local URL
API http://localhost:3000
OpenAPI http://localhost:3000/api/docs
Admin http://localhost:3001
Landing http://localhost:3002

Scripts

Command Description
pnpm dev API + Admin + Landing in parallel
pnpm dev:api API only
pnpm dev:admin Admin only
pnpm dev:landing Landing only
pnpm dev:mobile Flutter app
pnpm build Build all Node apps
pnpm db:migrate Prisma migrate dev
pnpm db:migrate:deploy Apply migrations (staging/production)
pnpm ci:check CI-equivalent local checks
pnpm check:doc-links Validate relative markdown links

Project structure

chisto-mk/
├── apps/
│   ├── api/          # NestJS backend
│   ├── admin/        # Moderation & operations panel
│   ├── landing/      # Marketing site (chisto.mk)
│   └── mobile/       # Flutter app + packages
├── packages/
│   ├── api-client/   # Typed API client + OpenAPI schema
│   ├── news-content/ # Shared news rendering
│   └── map-contracts/
├── docs/             # Platform documentation hub
├── infra/            # Terraform & deploy runbooks
├── docker-compose.yml
└── package.json

Environment

Template Use
.env.local.example Local development (copy to .env)
.env.staging.example Staging reference
.env.production.example Production reference

Never commit real secrets. Local: pnpm db:push is allowed. Staging/production: pnpm db:migrate:deploy only.

Documentation

Full index: docs/README.md

License

Proprietary. See LICENSE. All rights reserved by Ekohab / Chisto.mk.

Maintained by Chisto.mk / Ekohab · Macedonia

About

Community-powered civic platform for reporting pollution, organizing cleanups, and tracking environmental impact in Macedonia.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages