Urgent.News

What's breaking now, across thousands of outlets.

Tech

I Almost Used Nuxt Content for My Blog, but I Chose a Database Instead

When I started building my personal blog with Nuxt, one of the first decisions I had to make was how to store my content. At first, Nuxt Content seemed like a good option. Writing articles in Markdown sounded simple, and I wouldn't need to worry too much about database setup. But there was one thing I needed: a custom admin panel where I could manage my articles, categories, and tags. That made…

When embarking on creating a personal blog using Nuxt, one of the initial choices involved selecting a method for content storage. While Nuxt Content offered a simple solution by allowing articles to be written in Markdown, the reporter found it lacked a custom admin panel for managing articles, categories, and tags. This limitation led the reporter to opt for a database instead.

PostgreSQL was chosen as the database, coupled with Drizzle ORM for database operations. The initial schema included tables for Articles, Categories, Tags, Users, and Comments. The Articles table contained fields for titles, content, slugs, publication status, and SEO information. Categories helped separate different types of articles, while Tags organized articles by topic. Users stored information for authentication and administration, with a many-to-many relationship established between Articles and Tags.

Choosing a database meant taking responsibility for database schemas, relationships, migrations, and queries, which added an extra layer of complexity to the project. However, this trade-off was justified as it provided more control over content organization and management, along with the ability to implement an admin panel, structured content, authentication, and future feature additions.

The reporter learned that the best technology is not always the one with the simplest setup, but rather the one that aligns with the project's requirements. Before selecting a tool, it's essential to consider how content will be managed, where the application will run, and potential future additions. This approach helped the reporter make a decision that suited their project's needs, rather than opting for a tool solely based on convenience at the start.

The blog continues to evolve, and the reporter anticipates revisiting some of these decisions as the project progresses. For now, PostgreSQL and Drizzle ORM are proving effective for the direction the project is heading. The reporter invites readers to share their thoughts on choosing Nuxt Content or a database when building a blog with Nuxt.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

You uploaded your passport to a website last week. I did too.

Think about the last time you used a free PDF converter. For most of us it was within the last week, and it took about ten seconds. Bank statement, ID scan, a signed contract.

  • Online PDF converters may store files on unfamiliar servers
  • 89,062 files, including passports, exposed in July 2024 breach
  • FBI warns of malware-laden converter sites in March 2025

Typing drills are boring because the words mean nothing

"the quick brown fox jumps over the lazy dog." I have typed that sentence maybe a thousand times across a dozen typing tutors. It's the typing equivalent of elevator music.

  • Typing drills are dull due to meaningless words
  • Actual books engage users, improving typing speed
  • TypeMaster tutor uses classic literature passages

TrailSense: An Offline Nature Companion Built to Keep You Off Your Phone

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass * What I Built Have you ever gone for a hike to clear your head, heard a bird singing high up in the trees…

  • TrailSense is offline-first app for hikers and nature enthusiasts
  • Features include TrailVoice for bird song identification and FloraLens for plant analysis
  • Encourages tactile engagement and private field journaling without tracking

Python 3.15 lazy imports took my cold start from 512 ms to 32 ms

Python 3.15.0 came out on 9 October. The release notes list a dozen headline changes, but for anyone running Python behind an HTTP endpoint, a CLI or a serverless function, one matters more than the…

  • Lazy imports reduce cold start from 512 ms to 32 ms
  • Enable lazy imports with lazy import keyword or -X lazyimports=all
  • Errors in lazy imported modules raised only on usage

Quaesito: a self-hosted app for quiz nights with friends

Hi, I built Quaesito, a self-hosted quiz-night app for playing with friends. I thought it might be useful to others, so I wanted to share it here: https://github.com/ggirelli/quaesito It runs on your…

  • Quaesito is a self-hosted app for interactive quiz nights with friends
  • Creator Ggirelli designed it to support various question formats and multimedia
  • Application runs locally, no data sent to third-party services

More from Sunday 11 October →