Skip to content

code-env/not-padd

Repository files navigation

Notpadd

Buildtime CMS for your Next.js application.

Prerequisites

Before setting up the project locally, make sure you have the following installed:

  • Node.js version 18 or higher
  • pnpm version 9.0.0 or higher

Local Setup

Follow these steps to set up the project on your local machine:

  1. Clone the repository:
git clone https://github.com/code-env/not-padd.git
cd not-padd
  1. Install dependencies:
pnpm install
  1. Set up environment variables:

Create environment files in the root directory and in the apps directories as needed. Refer to the documentation or ask your team for the required environment variables.

  1. Set up the database:

Run database migrations to set up the schema:

pnpm db:migrate

Alternatively, you can push the schema directly:

pnpm db:push
  1. Start the development servers:

To start all apps and packages:

pnpm dev

To start a specific app, use filters:

pnpm dev --filter=web
pnpm dev --filter=api

The web application will be available at http://localhost:3001 and the API will run on its configured port.

Project Structure

This is a Turborepo monorepo containing the following:

Apps:

  • apps/api - Hono API server
  • apps/web - Next.js web application

Packages:

  • packages/auth - Authentication package
  • packages/core - Core functionality package
  • packages/db - Database package with migrations
  • packages/env - Environment variable configuration
  • packages/integrations - Integration packages
  • packages/notpadd - Main notpadd package
  • packages/ui - Shared React component library
  • packages/eslint-config - ESLint configurations
  • packages/typescript-config - TypeScript configurations

Examples:

  • examples/with-notpadd - Example Next.js application using notpadd
  • examples/with-notpadd-published - Example with published content

Other:

  • docs - Project documentation
  • docker-compose.yml - Docker configuration

Development

All packages and apps are written in TypeScript. The project uses:

  • TypeScript for static type checking
  • ESLint for code linting
  • Prettier for code formatting

Run linting:

pnpm lint

Run type checking:

pnpm check-types

Format code:

pnpm format

Build

To build all apps and packages:

pnpm build

To build a specific package:

pnpm build --filter=web
pnpm build --filter=api

Database Commands

Generate database migrations:

pnpm db:generate

Run migrations:

pnpm db:migrate

Push schema changes:

pnpm db:push

Open database studio:

pnpm db:studio

About

A developer-first CMS for Next.js that generates content at build time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •