New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

nx-starter

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nx-starter

A simple MVC starter template with node, express, sequelize and socket.io

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

Node Express Starter 2.0

A modern, feature-rich starter template for building scalable web applications with Node.js, Express, MySQL, and Socket.io. This template provides a solid foundation for developing web applications using the MVC architecture pattern.

Features

  • Authentication Ready: Built-in authentication system supporting both REST API and cookie-based EJS authentication flows
  • MVC Architecture: Clean and organized code structure following the Model-View-Controller pattern
  • Real-time Support: Integrated Socket.io for real-time communication
  • Database Integration: Preconfigured Sequelize ORM with MySQL support
  • API Validation: Request validation using Joi
  • Modern UI: Clean and responsive user interface
  • Security: Implementation of best security practices
  • Email Integration: Nodemailer setup for sending emails
  • Session Management: Express session with cookie support

Prerequisites

  • Node.js (v14 or higher)
  • MySQL
  • npm or yarn

Quick Start

You can get started with Node Express Starter 2.0 in two ways:

npx nx-starter my-project
cd my-project

This will create a new project in the my-project directory with all dependencies installed.

Option 2: Clone the Repository

  • Clone the repository
git clone https://github.com/khokonm/node-express-starter-2.0.git
cd node-express-starter-2.0
  • Install dependencies
npm install
  • Configure environment variables
cp .env.example .env
# Edit .env with your configuration
  • Start development server
npm run dev
  • For production
npm start

Project Structure

├── controllers/        # Route controllers (handle incoming requests)
│   ├── api/           # API controllers for REST endpoints
│   ├── auth/          # Authentication controllers
│   └── views/         # View controllers for server-side rendering
├── events/            # Event handlers for Socket.io and system events
├── libs/              # Library functions and shared business logic
├── middleware/        # Express middleware (auth, validation, etc.)
├── models/            # Database models and schemas
├── routes/            # Application routes and API endpoints
├── services/          # Business logic and external service integration
├── utils/             # Utility functions and helpers
├── validations/       # Request validators and schemas
├── views/             # EJS templates and static assets
├── app.js             # Express app setup and configuration
└── server.js          # Server entry point and Socket.io setup

Environment Variables

Create a .env file in the root directory with the following variables:

# Server Configuration
PORT=3000
NODE_ENV=development

# Database Configuration
DB_HOST=localhost
DB_USER=root
DB_PASS=
DB_NAME=your_database
DB_PORT=3306

# Authentication
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=7d

# Session Configuration
SESSION_SECRET=your_session_secret
SESSION_EXPIRES=24h

# Mail Configuration (Optional)
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USER=your_email@example.com
MAIL_PASS=your_email_password

# OAuth Configuration (Optional)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

API Documentation

Detailed API documentation is available at /api-playground when running the development server. The documentation includes:

  • Authentication endpoints
  • User management
  • Business logic APIs
  • WebSocket events
  • Request/Response examples
  • Schema validation rules

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

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

License

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

Author

Khokon M. (khokon.dev)

Support

For support and questions, please use the GitHub Issues page.

Acknowledgments

  • Express.js team for the excellent web framework
  • Sequelize team for the robust ORM
  • Socket.io team for real-time capabilities
  • The open-source community for various packages and inspirations

Keywords

node

FAQs

Package last updated on 11 Jan 2026

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