Skip to content

Repository files navigation

🇰🇭 KhmerStack

Practical open-source tools, built for everyday workflow.

Maintenance Framework Deploy Made in

KhmerStack is a community-driven open-source organization rooted in Cambodia. We build modern web applications with a focus on performance, clarity, and maintainability.

This repository is the official platform for KhmerStack, built with Next.js (App Router) and deployed on Vercel with Cloudflare security.


🛠️ Tech Stack

We use a modern, opinionated stack optimized for performance and developer experience:

Category Technology
Framework Next.js (App Router)
Styling Tailwind CSS
Language TypeScript
Package Manager pnpm
Deployment Vercel
DNS & Security Cloudflare

📂 Repository Structure

Based on our app router architecture:

/
├── app/              # Next.js App Router (Pages & Layouts)
├── components/       # Reusable UI components (shadcn/ui, custom)
├── hooks/            # Custom React hooks
├── lib/              # Utility functions and helpers
├── public/           # Static assets (images, fonts, favicon)
├── styles/           # Global CSS and Tailwind directives
├── next.config.mjs   # Next.js configuration
├── postcss.config.mjs# Tailwind PostCSS config
└── package.json      # Project dependencies


🚀 Getting Started

1. Clone the repository

git clone [https://github.com/MuyleangIng/khmerstack.git](https://github.com/MuyleangIng/khmerstack.git)
cd khmerstack

2. Install dependencies

We use pnpm for fast installation.

pnpm install

3. Run the development server

pnpm dev

Open http://localhost:3000 with your browser to see the result.


☁️ Deployment

1. Deploy to Vercel

This project is optimized for Vercel.

  1. Push your code to GitHub.
  2. Go to Vercel Dashboard.
  3. Import this repository.
  4. Framework Preset: Select Next.js.
  5. Build Command: next build (default).
  6. Click Deploy.

2. Configure Cloudflare (DNS)

To use your custom domain with Vercel and Cloudflare:

  1. In Vercel: Go to Settings > Domains and add your domain (e.g., khmerstack.com).
  2. In Cloudflare:
  • Add a CNAME record.
  • Name: @ (or www)
  • Target: cname.vercel-dns.com
  • Proxy Status: ensure it is Proxied (Orange Cloud) for SSL/DDOS protection, or DNS Only (Grey Cloud) if Vercel issues SSL certificates automatically.
  • Recommended: Use Full (Strict) SSL mode in Cloudflare settings.

🤝 Contributing

We welcome contributions! Please see our Contribution Guide for details.

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add: some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📜 License & Maintainers

Maintained by: Muyleang Ing

Location: Phnom Penh, Cambodia 🇰🇭

Open to contributors. Let's build something great together.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages