Before you begin, ensure you have:
git clone https://github.com/usaikoo/openinvoice.git
cd openinvoice
Using Bun (recommended):
bun install
Or using npm:
npm install
Copy the example environment file:
cp env.example.txt .env.local
Configure required environment variables (see Environment Variables).
Generate Prisma Client:
bun prisma generate
Run database migrations:
bun prisma migrate dev
bun run dev
The application will be available at http://localhost:3000
# Development
bun run dev # Start development server
# Build
bun run build # Build for production
bun run start # Start production server
# Code Quality
bun run lint # Run ESLint
bun run lint:fix # Fix linting issues
bun run format # Format code with Prettier
# Database
bun prisma generate # Generate Prisma Client
bun prisma migrate # Run migrations
bun prisma studio # Open Prisma Studio
src/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ ├── dashboard/ # Dashboard pages
│ └── (auth)/ # Auth pages
├── components/ # React components
│ ├── ui/ # Shadcn UI components
│ └── layout/ # Layout components
├── features/ # Feature modules
│ ├── invoicing/ # Invoice features
│ ├── kanban/ # Kanban features
│ └── overview/ # Dashboard features
├── lib/ # Utilities
│ ├── db.ts # Prisma client
│ └── utils.ts # Helper functions
└── prisma/ # Database schema
└── schema.prisma # Prisma schema