A content aggregator for the Astoria Tech Meetup.
- TypeScript
- Next.js with App Router
- React
- Tailwind CSS
- Prisma
- Sqlite
-
Clone the repo
-
Run
npm install
-
Create a
.env.local
file with the following contents:NEXT_PUBLIC_BASE_URL=http://localhost:3000
-
Run
npm run dev
-
Open http://localhost:3000/community-blogs with your browser.
This project attempts to follow Next.js w/ App Router conventions:
- All pages are in
src/app/<PAGE_NAME>/page.tsx
- All API routes are in
src/app/api/<ROUTE_NAME>/route.ts
The tree structure is as follows:
.
├── README.md
├── eslint.config.mjs
├── next-env.d.ts
├── next.config.ts
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── prisma
│ ├── migrations
│ │ ├── 20250118205732_init
│ │ │ └── migration.sql
│ │ └── migration_lock.toml
│ ├── schema.prisma
│ └── subcurrent.db
├── public
│ ├── ...
├── src
│ ├── app
│ │ ├── admin
│ │ │ └── page.tsx
│ │ ├── api
│ │ │ ├── get-posts
│ │ │ │ └── route.ts
│ │ │ ├── register-feed
│ │ │ │ └── route.ts
│ │ │ └── update-feeds
│ │ │ └── route.ts
│ │ ├── community-blogs
│ │ │ └── page.tsx
│ │ ├── favicon.ico
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx
│ └── lib
│ └── db.js
├── tailwind.config.ts
└── tsconfig.json
This project uses Prisma with Sqlite. The database is stored in prisma/subcurrent.db
.
The database schema is defined in prisma/schema.prisma
. If you make changes to the schema, you will need to run npx prisma migrate dev --name <MIGRATION_NAME>
to create a new migration.
For an interactive database explorer, run npm run prisma:studio
.
This is going to change rapidly, but at time of writing, the user experience is as follows:
- See a list of community blogs at http://localhost:3000/community-blogs
- Add a new blog to the list by visiting http://localhost:3000/admin
Other actions will require you to open the interactive database explorer and manually manipulate data. See the "Database" section above.
This is a Next.js project bootstrapped with create-next-app
.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx
. The page auto-updates as you edit the file.
This project uses next/font
to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.