Skip to content

dhruuviii/Aether

Repository files navigation

poets-core

A small space for words that stay.

A minimal poetry sharing web app built with Next.js App Router. No database required — uses in-memory JSON storage with a clear upgrade path to Vercel KV.

Stack

  • Framework — Next.js 14 (App Router)
  • Styling — Tailwind CSS + CSS variables
  • Storage — In-memory JSON (lib/store.js) → drop-in Vercel KV upgrade
  • AI — Anthropic Claude API (optional "Inspire me" feature)
  • Deploy — Vercel

Project Structure

poets-core/
├── app/
│   ├── layout.js           # root layout + metadata
│   ├── page.js             # feed page (server component)
│   ├── write/
│   │   └── page.js         # create poem (client component)
│   ├── poem/[id]/
│   │   └── page.js         # poem detail page
│   └── api/
│       └── poems/
│           └── route.js    # GET + POST /api/poems
├── components/
│   ├── Navbar.js
│   └── PoemCard.js
├── lib/
│   └── store.js            # storage layer (swap for Vercel KV here)
├── styles/
│   └── globals.css
├── next.config.js
├── tailwind.config.js
└── vercel.json

Getting Started

npm install
npm run dev

Open http://localhost:3000.

Deploy to Vercel

git init
git add .
git commit -m "initial commit"
git push origin main

Then import the repo at vercel.com.

Upgrade Path

Version Storage
v0 (now) In-memory JSON — resets on redeploy
v1 Vercel KV — persistent, serverless
v2 Postgres / PlanetScale — full relational

To upgrade to Vercel KV, replace getPoems() and addPoem() in lib/store.js with KV calls — the API routes stay the same.

Roadmap

  • Likes (persistent)
  • Comments
  • Auth (NextAuth)
  • User profiles
  • Vercel KV storage

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors