@dev-sandip/pest-js v1.0.0
PEST.js - Progressive Express Starter Template
The Progressive Node.js Template Engine
PEST.js is an advanced template engine that generates production-ready Node.js applications with enterprise-grade architecture and modern development practices. It focuses on progressive enhancement, allowing your application to grow seamlessly from a simple API to a full-scale enterprise system.
Core Features
- ๐๏ธ Progressive Architecture: Scale from simple to complex without restructuring
- ๐ Enterprise Security: Industry-standard security practices built-in
- ๐ฆ Intelligent Defaults: Smart configurations that adapt to your needs
- ๐ TypeScript-First: Built for type safety and modern development
- ๐งช Testing Framework: Comprehensive testing suite included
- ๐ Self-Documenting: Automated API documentation generation
- ๐ณ Container-Ready: Containerization support from day one
- ๐ Observable: Logging and monitoring built-in
Why PEST.js?
- ๐ Start Small, Grow Big: Perfect for both MVPs and enterprise applications
- ๐ฏ Production-First: No need to restructure for production
- ๐ฆ Zero-Config: Works out of the box with smart defaults
- ๐ Type-Safe: Catch errors before they happen
- ๐๏ธ Feature-Based: Organized for maintainability
- ๐งช Test-Driven: Testing infrastructure ready to go
- ๐ Well Documented: Clear, automated documentation
- ๐ณ Cloud-Native: Ready for modern deployment
Overview
This script creates a complete project structure with all necessary configuration files for a modern Node.js application. It sets up a feature-based architecture that follows best practices and includes essential tools and configurations.
Features
- ๐ Automated project scaffolding
- ๐ Feature-based folder structure
- โ๏ธ Pre-configured TypeScript setup
- ๐ Environment configuration with validation
- ๐๏ธ MongoDB/Mongoose integration
- ๐ Authentication boilerplate
- ๐ Logging setup
- ๐งช Testing infrastructure
- ๐ณ Docker configuration
- ๐ Code formatting and linting setup
Prerequisites
- Bash shell
- Basic command line knowledge
Here's the updated version of your instructions in a clean, professional format for a repository README:
Usage
1. Download the Setup Script
Windows (PowerShell)
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/nabinkhair42/mern-stater-kit/main/setup.sh" -OutFile "setup.sh"Or, if curl is installed:
curl.exe -O https://raw.githubusercontent.com/nabinkhair42/mern-stater-kit/main/setup.shmacOS & Linux (Terminal)
curl -O https://raw.githubusercontent.com/nabinkhair42/mern-stater-kit/main/setup.sh2. Make the Script Executable
macOS & Linux
chmod +x setup.shWindows (Git Bash, WSL, or PowerShell with Ubuntu Subsystem)
chmod +x setup.sh(PowerShell does not require this step.)
3. Run the Script
macOS & Linux
./setup.shWindows (PowerShell)
bash setup.sh(Requires WSL, Git Bash, or a compatible shell.)
4. Enter the Project Name
When prompted, enter your project name or press Enter to use the default name.
Generated Structure
The script creates the following structure:
project-root/
โโโโdocs
โ โโโโapi
โโโโscripts
โโโโsrc
โ โโโโconfig
โ โโโโfeatures
โ โ โโโโauth
โ โ โ โโโโcontrollers
โ โ โ โโโโmodels
โ โ โ โโโโroutes
โ โ โ โโโโschemas
โ โ โ โโโโservices
โ โ โโโโusers
โ โ โโโโcontrollers
โ โ โโโโmodels
โ โ โโโโroutes
โ โ โโโโschemas
โ โ โโโโservices
โ โโโโmiddleware
โ โโโโtypes
โ โโโโutils
โโโโtests
โโโโfixtures
โโโโintegration
โโโโunitGenerated Files
The script creates and configures the following files:
Core Configuration
package.json- Project dependencies and scriptstsconfig.json- TypeScript configuration.env,.env.example,.env.test- Environment configurationsDockerfileanddocker-compose.yml- Docker setup
Development Tools
.eslintrc.js- ESLint configuration.prettierrc- Prettier configuration.gitignore- Git ignore rulesjest.config.js- Jest testing configuration
Application Files
src/app.ts- Application entry pointsrc/config/- Configuration files for database, environment, etc.- Feature modules with MVC structure
- Utility scripts for database seeding and documentation generation
Post-Setup Steps
After running the script:
Navigate to your project directory:
cd your-project-nameInstall dependencies:
npm installUpdate the
.envfile with your configurationStart development:
npm run dev
Available Scripts
The generated project includes several npm scripts:
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm run lint- Run ESLintnpm run format- Run Prettiernpm test- Run testsnpm run seed- Run database seedingnpm run docs- Generate API documentation
Contributing
Feel free to submit issues and enhancement requests to our GitHub repository!
11 months ago