create-craftjs
v2.0.3
Published
A starter kit backend framework powered by Express, TypeScript, EJS Engine, and Prisma — designed for rapid development, simplicity, and scalability.
Downloads
873
Maintainers
Readme
🚀 CraftJS
A starter kit backend powered by Express, TypeScript, EJS Engine, and Prisma — designed for rapid development, simplicity, and scalability.
✨ Features
- Express.js based API architecture
- TypeScript support out of the box
- Prisma ORM with scalable database structure
- CLI tool (
craft) for project automation - Built-in Logger, Validation, Error handler, and Request lifecycle
- Predefined project structure for fast onboarding
💡 Note: EJS View Engine is included but disabled by default. To enable it: Open src/application/web.ts and uncomment the following lines:
import expressLayouts from "express-ejs-layouts";
import path from "path";
web.set("view engine", "ejs");
web.set("views", path.join(\_\_dirname, "..", "views"));
web.use(expressLayouts);
web.set("layout", "layouts/main");Then, go to src/routes/main-route.ts and uncomment this:
mainRouter.get("/", (req, res) => {
res.render("index", { title: "Home Page" });
});🛠 Getting Started
📦 Scaffold a New Project
npx create-craftjs@latest my-appOR
npm init craftjs@latest my-appGo to project folder
cd my-appRun Craft Setup
npm install
node craft key:generate
node craft db:generate
node craft db:migrate
node craft db:seed
node craft devAvailable Craft Commands
node craft help📦 Project Structure
my-app/
├── craft/
├── logs/
├── prisma/
├── public/
├── src/
│ ├── apidocs/
│ ├── config/
│ ├── controllers/
│ ├── dtos/
│ ├── middleware/
│ ├── repositories/
│ ├── routes/
│ └── services/
│ └── utils/
│ └── validations/
│ └── views/
│ └── main.ts
├── temp/
├── test/
├── .env
├── .env.example
├── .gitignore
├── babel.config.json
├── craft.js
├── docker-compose.yml
├── Dockerfile
├── nodemon.json
├── package-lock.json
├── package.json
├── prisma.config.ts
├── README.md
└── tsconfig.json📚 Scripts
| Command | Description |
| ----------------------- | ------------------------------ |
| craft build:docker | Deploy Docker for production |
| craft build | Build for production |
| craft db:fresh | Run Prisma migrate reset |
| craft db:generate | Generate Prisma client |
| craft db:migrate | Run Prisma migrations |
| craft db:seed | Run Prisma Seeder |
| craft dev | Run in development mode |
| craft key:generate | Generate secret keys |
| craft make:apidocs | Make Apidocs File |
| craft make:command | Make Command File |
| craft make:controller | Make Controller File |
| craft make:dto | Make Data Transfer Object File |
| craft make:middleware | Make Middleware File |
| craft make:repository | Make repository File |
| craft make:route | Make Route File |
| craft make:service | Make Service File |
| craft make:test | Make Test case |
| craft make:utils | Make Utils |
| craft make:validation | Make Validation |
| craft make:view | Make View |
| craft start | Start production server |
| craft test | Run Jest tests |
Made by @muhammadisa-n
