Buildtime CMS for your Next.js application.
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
Follow these steps to set up the project on your local machine:
- Clone the repository:
git clone https://github.com/code-env/not-padd.git
cd not-padd- Install dependencies:
pnpm install- 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.
- Set up the database:
Run database migrations to set up the schema:
pnpm db:migrateAlternatively, you can push the schema directly:
pnpm db:push- Start the development servers:
To start all apps and packages:
pnpm devTo start a specific app, use filters:
pnpm dev --filter=web
pnpm dev --filter=apiThe web application will be available at http://localhost:3001 and the API will run on its configured port.
This is a Turborepo monorepo containing the following:
Apps:
apps/api- Hono API serverapps/web- Next.js web application
Packages:
packages/auth- Authentication packagepackages/core- Core functionality packagepackages/db- Database package with migrationspackages/env- Environment variable configurationpackages/integrations- Integration packagespackages/notpadd- Main notpadd packagepackages/ui- Shared React component librarypackages/eslint-config- ESLint configurationspackages/typescript-config- TypeScript configurations
Examples:
examples/with-notpadd- Example Next.js application using notpaddexamples/with-notpadd-published- Example with published content
Other:
docs- Project documentationdocker-compose.yml- Docker configuration
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 lintRun type checking:
pnpm check-typesFormat code:
pnpm formatTo build all apps and packages:
pnpm buildTo build a specific package:
pnpm build --filter=web
pnpm build --filter=apiGenerate database migrations:
pnpm db:generateRun migrations:
pnpm db:migratePush schema changes:
pnpm db:pushOpen database studio:
pnpm db:studio