Skip to content

Funput/Website

Repository files navigation

Funput Landing

Official marketing site for Funput — an open-source Vietnamese input method for iOS, Android, macOS, Windows, and Linux.

Live site: funput.app

Built with Angular 22, Tailwind CSS 4, and served via nginx in Docker.

Prerequisites

  • Node.js 24+ (Node 26 recommended for Docker)
  • pnpm 11.5+ (see packageManager in package.json)

Getting started

Install dependencies:

pnpm install

Start the development server:

pnpm start

Open http://localhost:4200.

Build

Production build (output under dist/funput/):

pnpm build

Run unit tests:

pnpm test

Format with Prettier:

pnpm format
pnpm format:check

Docker

Multi-stage image: Node 26 (build) + nginx alpine (serve static browser output).

docker build -t funput-landing .
docker run --rm -p 8080:80 funput-landing

Then open http://localhost:8080.

Project layout

website/
├── public/            # Static assets (icons, robots, sitemap, OG image)
├── src/
│   ├── app/           # Components, routes, constants
│   ├── index.html     # SEO meta, structured data
│   └── server.ts      # SSR entry (Express)
├── Dockerfile
├── nginx.conf
└── package.json

Scripts

Command Description
pnpm start Dev server (ng serve)
pnpm build Production build
pnpm test Unit tests (Vitest)
pnpm format Format sources with Prettier
pnpm format:check Check Prettier formatting
pnpm serve:ssr:funput Serve SSR build locally

Links

Contributing

  1. Fork the repository and create a feature branch.
  2. Install dependencies with pnpm install.
  3. Make your changes; keep UI and copy consistent with the existing site.
  4. Before opening a pull request, run pnpm format:check, pnpm test, and pnpm build.
  5. Open a PR with a clear description of the change.

License

MIT — see LICENSE. Brand and trademark notes are in NOTICE.

The Funput application itself is also MIT; see Funput/Funput.

About

Website chính thức của ứng dụng bộ gõ tiếng Việt Funput

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages