datasette.io
Papercups
datasette.io | Papercups | |
---|---|---|
6 | 19 | |
81 | 5,625 | |
- | 1.1% | |
8.0 | 0.0 | |
4 days ago | 3 months ago | |
HTML | Elixir | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datasette.io
-
Architecture Notes: Datasette
Opened an issue exploring alternatives here: https://github.com/simonw/datasette.io/issues/109
I decided to just drop "any size" but keep "any shape".
-
How to have git pushes auto-deploy to a remote server?
Here's an example from one of my projects: https://github.com/simonw/datasette.io/blob/main/.github/workflows/deploy.yml
-
Schema on write is better to live by
I've come around to almost the opposite approach.
I pull all of the data I can get my hands on (from Twitter, GitHub, Swarm, Apple Health, Pocket, Apple Photos and more) into SQLite database tables that match the schema of the system that they are imported from.
For my own personal Dogsheep (https://simonwillison.net/2020/Nov/14/personal-data-warehous...) that's 119 tables right now.
Then I use SQL queries against those tables to extract and combine data in ways that are useful to me.
If the schema of the systems I am importing from changes, I can update my queries to compensate for the change.
This protects me from having to solve for a standard schema up front - I take whatever those systems give me. But it lets me combine and search across all of the data from disparate systems essentially at runtime.
I even have a search engine for this, which is populated by SQL queries against the different source tables. You can see an example of how that works at https://github.com/simonw/datasette.io/blob/main/templates/d... - which powers the search interface at https://datasette.io/-/beta
-
Using sqlite3 as a notekeeping document graph
I've been exploring this technique more over the past year and I really like it - https://datasette.io (code at https://github.com/simonw/datasette.io ) is a more recent and much more complicated example.
Extracting links from markdown and using them to populate some additional columns or tables at build time would be pretty straight forward.
- Ask HN: What novel tools are you using to write web sites/apps?
-
What's New in SQLite 3.35
I run SQLite in serverless environments (Cloud Run, Vercel, Heroku) for dozens of projects... but the trick is that they all treat the database as a read-only asset.
If I want to deploy updated data, I build a brand new image and deploy the application bundled with the data. I tend to run the deploys for these (including the database build) in GitHub Actions workflows.
This works really well, but only for applications that don't need to apply constant updates more than a few times an hour! If you have a constant stream of updates I still think you're better off using a hosted database like Heroku PostgreSQL or Google Cloud SQL.
One example of a site I deploy like that is https://datasette.io/ - it's built and deployed by this GitHub Actions workflow here: https://github.com/simonw/datasette.io/blob/main/.github/wor...
Papercups
-
Linen.dev – Building a chat app with Elixir and NextJS
The best language for the task at hand, when presented with time constraints, is the one that you already know well. OP said in the article that they authored Papercups [1]. Adopting Elixir for a websocket-push service makes a lot of sense, then. However, why don't you learn Elixir, some OTP, and then reconsider that question? You could be missing out.
[1] https://github.com/papercups-io/papercups
-
What Phoenix Elixir Tutorial do you want to see?
https://github.com/papercups-io/papercups - 5.2k stars, uses Phoenix 1.6
-
Complete, Production-Ready Phoenix Reference Applications
Papercups
- Looking for recommendation of OS phoenix app to look at
- Example of an elixir CRUD app in production
- Show HN: Open-source live customer chat
-
Lessons from answering 800 customer support queries in last 2 yrs as a founder
Shameless plug here if anyone is interested in an open source live chat tool check out https://github.com/papercups-io/papercups
- Create a conversation with Elixir with real code examples
-
Ask HN: What novel tools are you using to write web sites/apps?
Phoneix - Elixir
We're a live message tool and it is basically what Elixir is built for https://github.com/papercups-io/papercups.
The Elixir community has been great and incredibly friendly. I originally was worried about the size of the community but that hasn't been an issue the community has been super helpful. I also think the annual stackoverflow usage surveys are very misleading because most of the community's questions get asked in ElixirForum and not on Stackoverflow.
Phoneix is the web framework of Elixir which is very similar to Rails but minus a lot of the magic has been very helpful for our productivity as well.
If I had to built another service that is websocket heavy I would definitely use Elixir. Even if it was a standard crud app I would still most likely choose Elixir.
- Papercups – open-source live customer chat in Elixir
What are some alternatives?
datasette - An open source multi-tool for exploring and publishing data
chatwoot - Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬
gomodest - A complex SAAS starter kit using Go, the html/template package, and sprinkles of javascript.
SvelteKit - web development, streamlined
org-roam-server - A Web Application to Visualize the Org-Roam Database
Gotify - A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
LeapChat - Ephemeral, encrypted, in-browser chat rooms
headlessui - Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
LibreNews - A free and open breaking news notification platform
PushBits - A simple server for push notifications via Matrix (and a minimalistic alternative to Pushover and Gotify) 🚀📯