Releases: placemark/placemark
Repo reorg, Deploy to Vercel
This repository now only contains the /play
source code - the non-fullstack clientside-only version of Placemark. That's what I've been maintaining, because Placemark-the-free-product needs to be free for me to run because I'm not making revenue. The fullstack application is still around at placemark-fullstack and if you want the real, full-fat, SaaS-capable app, it's still in the saas branch.
The other news is that it's easier to deploy this now! There's a Deploy to Vercel button which does exactly that. Here's that button for reference, clickable here:
Let a thousand Placemarks bloom!
placemark-vercel.mov
URL API
Placemark now supports a URL API, just like geojson.io does. So for example you can load
And it'll automatically download and add that GeoJSON file to the page.
You can also use data urls so the data can be in the URL:
- For data urls, if the data is geojson, it'll be instantly added. If it's another format, then it'll pop open a dialog
- The URL api uses Placemark's default file detection, and if it fails, it'll generate an error message
- The PR for this is here, if you'd like to read it: #72
Mapbox v3 and RTL support
Pretty quick one this week!
- RTL languages are now correctly displayed in geometry labels. Thanks @galdalali for reporting this! #57
- Mapbox GL is updated to v3
Monorepo & /play fork
This repo is now a monorepo. It uses pnpm to do it. In effect, this lets multiple npm modules with multiple package.json files live in the same repository and reuse some of each other's dependencies.
The big change that this enabled is #51 - a fork that supports the Placemark Play free interface again. And that interface is now hosted at https://play.placemark.io/ and the converter is online at https://play.placemark.io/converter
Both are client-side-only applications, so I can run them cheaply. It would be great if Placemark was modularized and this was a different configuration or a minimal frontend that reused modules, but this is an in-between step which is pretty dirty: the packages/play
codebase is basically placemark with a ton of deletions. I have just enough time to try to make something useful, not enough time to do a proper job making it modularized right now. If you have time, please submit a PR!
Feb 10
The theme of this week's changes is simplification. Placemark, the OSS project, started as exactly the codebase that was a software-as-a-service product. So it had things like billing, product analytics, the functionality to sign up for a mailing list, and so on. These things are fun, but don't really make sense if you're running an installation for your organization: you don't want to quota-limit maps and require upgrading and all of that. So, this week I removed from the codebase:
- Stripe billing, its UI, webhook, proxy system, quota management, database management of stripe customers
- CampaignMonitor integration, which was used for signing up to the mailing list
- Posthog analytics, which were used for product analytics.
Between the two PRs 100e47e 100e47e this removed a lot of code and a lot of dependencies. Lightness!
The full-fat codebase with all of the SaaS integrations will remain in the saas branch.
February 3
Hi! I'm thinking about using Placemark releases as a way to checkpoint any kind of work or contributions that come in. Here's the first!
My highest priority for the near future with Placemark is to make it easy for people to contribute to the project. This means having solid documentation for development setup, support for dev with Docker, and reasonable versions of parts of the stack. It also means having good process for catching errors, including CI tests.
So, since Placemark was initially open sourced, here's what's new!
- Prisma updated to v5 in #28. This is important because Prisma 4 had some bad issues that were triggered when it was used in Docker. v5 is the current version of Prisma and fixes those issues, plus it introduces some performance improvements.
- @yuiseki contributed a Dockerfile in #16 🎉 🎉 ! Thank you!
- @zeeyang contributed an update to the latest Blitz version in #19 Thank you!
- We're now on TypeScript 5 (the current version) and Next.js 14 (the current version)
- Tests that run on CI were introduced in #34, which should make future PRs easier to review!