/ship

A toolkit for makers to ship better products faster 🚀

Primary LanguageTypeScriptMIT LicenseMIT

Ship

license PRs Welcome

Watch on GitHub Star on GitHub Follow Tweet

The Ship is a toolkit for makers to ship better products faster 🚀.

It is based on several open-source components, resulting from years of hard work by the Paralect team. We carefully select, document, and share our production-ready knowledge with you. Our technological choices are based on the following main tools: Next.js, React Query, React Hook Form, Mantine UI, Koa.js, Socket.IO, MongoDB, Turborepo, Docker, Kubernetes, GitHub Actions and TypeScript.

We encourage developers to share production-ready solutions and help businesses ship something people need as quickly as possible.

Features

  • Full-stack boilerplate tested on production projects 🔥
  • Customizable UI components library 🧱
  • Email/password and Google Oauth authentication 🔐
  • Multiple environments support 📝
  • Reactive MongoDB configuration with CUD events publishing 🍃
  • Kubernetes and DO Apps deployment for AWS and Digital Ocean platforms ☁
  • Turborepo packages sharing 🏎
  • Files upload to cloud storage 🗃
  • Sendgrid and React Email emails 📧
  • Websockets 🔌
  • Database migrations 🌖
  • CRON jobs
  • Logging and monitoring 📈
  • Code linting and testing ⚙️
  • CI/CD 🤖

Examples

  • Stripe payments and subscriptions 🤑

Quick Start

npx create-ship-app@latest init

Why Ship?

Shipping is a crucial part of any new product. The quicker you ship, the more time you have to validate your hypotheses. The quicker you validate your idea, the sooner you know if you're building what people want.

In the rush, developers often ignore quality. Backups, monitoring, proper data validation and many other things seems not so important in the beginning. Sometimes you're lucky, sometimes you're not.

We believe we could ship great products faster while maintaining decent quality, and have a plan for scaling when hypotheses were right.

Core concepts

  • We automatically build Ship using a number of smaller components. Our ultimate goal is to include only the parts you need for your product development.
  • Every component is kept as tiny as possible to simplify maintenance and stay up to date with new releases.
  • Ship is always in a production-ready state. We test every release manually to provide a great developer experience. We use Ship to build our products, see more here.

License

Ship is released under the MIT License.

Contributing

Join us and share something developers need 👌.