You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP โ†’
Socket
Book a DemoInstallSign in
Socket

nitp-build-tools

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nitp-build-tools

Official build system for NIT Patna's backend services - A powerful Maven-based build automation tool with cross-platform support

2.2.0
latest
Source
npmnpm
Version published
Weekly downloads
1
-96.55%
Maintainers
1
Weekly downloads
ย 
Created
Source

@nitp/build-tools

npm version License: MIT Node.js CI

Official build system for NIT Patna's backend services - A powerful, cross-platform Maven-based build automation tool with advanced features for testing, quality assurance, and deployment.

๐Ÿ‘จโ€๐Ÿ’ป Developer

Created by: Ashish Kumar

๐Ÿ“‹ Table of Contents

โœจ Features

  • ๐Ÿš€ Cross-Platform Support: Works seamlessly on Windows, macOS, and Linux
  • ๐Ÿ”ง Maven Integration: Full Maven lifecycle management with advanced configurations
  • ๐Ÿ“Š Code Coverage: Integrated JaCoCo coverage reporting with configurable thresholds
  • ๐Ÿงช Testing Framework: Support for unit and integration tests with JUnit 5
  • ๐Ÿ” Quality Assurance: Built-in Spotless, CheckStyle, PMD, and SpotBugs integration
  • ๐ŸŒ Multi-Environment: Support for dev, test, and production environments
  • ๐Ÿ“ˆ Progress Tracking: Real-time build progress and detailed logging
  • ๐ŸŽจ Beautiful CLI: Colored output with progress indicators and ASCII art
  • ๐Ÿฅ Health Checks: Built-in system diagnostics and requirements validation
  • โš™๏ธ Configurable: Highly customizable through JSON configuration files

๐Ÿ“ฆ Installation

npm install -g @nitp/build-tools

Project-Specific Installation

npm install --save-dev @nitp/build-tools

Verify Installation

nitp-build --version
nitp-build doctor    # Check system health

๐Ÿš€ Quick Start

# Show all available commands
nitp-build --help

# Check system requirements
nitp-build doctor

# Show system information
nitp-build info

# Build the project
nitp-build build

# Run tests with coverage
nitp-build test

# Start development server
nitp-build start:admin --env=dev

๐Ÿ“‹ Requirements

System Requirements

  • Node.js: >= 14.0.0
  • npm: >= 6.0.0
  • Java: >= 17 (OpenJDK or Oracle JDK)
  • Maven: >= 3.8.0
  • Git: Latest version

Platform Support

PlatformStatusNotes
Windowsโœ… Full SupportTested on Windows 10/11
macOSโœ… Full SupportTested on macOS 11+
Linuxโœ… Full SupportTested on Ubuntu, CentOS, Debian

๐Ÿ”ง Commands

Build Commands

# Full build with tests and quality checks
nitp-build build

# Quick build without tests (for development)
nitp-build build:fast

# Build with specific environment
nitp-build build --env=prod --verbose

Testing Commands

# Run all tests with coverage
nitp-build test

# Run only unit tests
nitp-build test:unit

# Run only integration tests
nitp-build test:integration

# Test specific module
nitp-build test --module=admin

Quality Assurance

# Run all quality checks
nitp-build quality

# Format code using Spotless
nitp-build format

# Quality check with verbose output
nitp-build quality --verbose

Development Commands

# Start Admin API server
nitp-build start:admin

# Start TNP API server
nitp-build start:tnp

# Start with specific environment
nitp-build start:admin --env=test

Docker Commands

# Start all services with Docker
nitp-build docker:up

Utility Commands

# Show system information
nitp-build info

# Check system health
nitp-build doctor

# Show help
nitp-build --help

โš™๏ธ Configuration

The build system uses a comprehensive configuration file (lib/nitp-build-v2.json) that defines:

  • Scripts: Available build commands and their Maven configurations
  • Modules: Project structure and dependencies
  • Environments: Environment-specific settings and properties
  • Coverage: Code coverage thresholds and reporting
  • Quality: Code quality tools and standards

Modules

ModuleTypeDescriptionCoverage Threshold
nitp-coreLibraryCore shared functionality80% lines, 70% branches
nitp-admin-apiApplicationAdministrative API75% lines, 65% branches
nitp-tnp-apiApplicationTraining & Placement API75% lines, 65% branches

๐ŸŒ Environments

Development Environment (dev)

  • Profile: spring.profiles.active=dev
  • Database: MySQL localhost
  • Logging: DEBUG level
  • JVM: -Xmx512m
nitp-build build --env=dev

Test Environment (test)

  • Profile: spring.profiles.active=test
  • Database: H2 in-memory
  • Logging: INFO level
  • JVM: -Xmx256m
nitp-build test --env=test

Production Environment (prod)

  • Profile: spring.profiles.active=prod
  • Database: Production MySQL
  • Logging: WARN level
  • JVM: -Xmx1024m -XX:+UseG1GC
nitp-build build --env=prod

๐Ÿ“Š Code Coverage

Coverage reports are automatically generated using JaCoCo:

Report Locations

  • HTML Report: target/site/jacoco/index.html
  • XML Report: target/site/jacoco/jacoco.xml
  • CSV Report: target/site/jacoco/jacoco.csv

Coverage Thresholds

  • Core Module: 80% line coverage, 70% branch coverage
  • API Modules: 75% line coverage, 65% branch coverage

Viewing Coverage Reports

# Run tests to generate coverage
nitp-build test

# Open HTML report (Windows)
start target/site/jacoco/index.html

# Open HTML report (macOS)
open target/site/jacoco/index.html

# Open HTML report (Linux)
xdg-open target/site/jacoco/index.html

๐Ÿ” Quality Standards

Code Formatting

  • Tool: Spotless
  • Standards: Google Java Style Guide
  • Command: nitp-build format

Static Analysis

  • CheckStyle: Java coding standards
  • PMD: Programming mistake detector
  • SpotBugs: Bug pattern detection

Testing Framework

  • Framework: JUnit 5
  • Parallel Execution: Enabled
  • Failure Reruns: Enabled for stability

๐Ÿ› Troubleshooting

Common Issues

Command Not Found

# Check if npm global bin is in PATH
npm config get prefix

# Manually add to PATH (Linux/macOS)
export PATH="$(npm config get prefix)/bin:$PATH"

# Manually add to PATH (Windows)
set PATH=%PATH%;%APPDATA%\npm

Permission Denied (Unix Systems)

# Fix npm permissions
sudo npm install -g @nitp/build-tools

# Or use npx
npx @nitp/build-tools build

Java/Maven Not Found

# Check Java installation
java -version

# Check Maven installation
mvn -v

# Install Java (Ubuntu/Debian)
sudo apt update
sudo apt install openjdk-17-jdk

# Install Maven (Ubuntu/Debian)
sudo apt install maven

Build Failures

# Check system requirements
nitp-build doctor

# Run with verbose output
nitp-build build --verbose

# Clean and rebuild
mvn clean
nitp-build build

Getting Help

  • Check Documentation: Read this README thoroughly
  • Run Diagnostics: Use nitp-build doctor to check system health
  • Verbose Output: Add --verbose flag to any command for detailed logs
  • Check Issues: Visit GitHub Issues
  • Contact Developer: Reach out via LinkedIn

๐Ÿค Contributing

We welcome contributions to improve the NITP Build System!

Development Setup

# Clone the repository
git clone https://github.com/ashishkr375/adminportal_updated_new.git

# Navigate to build tools
cd adminportal_updated_new/backend/nitp-build-tools

# Install dependencies
npm install

# Link for local development
npm link

Contribution Guidelines

  • Fork the repository
  • Create a feature branch (git checkout -b feature/amazing-feature)
  • Commit your changes (git commit -m 'Add amazing feature')
  • Push to the branch (git push origin feature/amazing-feature)
  • Open a Pull Request

Code Standards

  • Follow existing code style
  • Add tests for new features
  • Update documentation
  • Ensure all tests pass

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • NIT Patna for providing the platform and support
  • Open Source Community for the amazing tools and libraries
  • Contributors who have helped improve this project

๐Ÿ“ž Contact & Support

Made with โค๏ธ by Ashish Kumar at NIT Patna

GitHub LinkedIn

Keywords

nitp

FAQs

Package last updated on 14 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts