Skip to main content

System Requirements

Before installing EverShop, ensure your system meets these requirements:

Runtime

Node.js 18.0 or higher

Database

PostgreSQL 12.0 or higher

Package Manager

npm 9.0 or higher

Build Tools

TypeScript 5.9+ (included in devDependencies)

Installation Steps

1

Install Node.js

Download and install Node.js from nodejs.org or use a version manager:
2

Install PostgreSQL

3

Create Database

Create a new PostgreSQL database for your store:
4

Clone or Create Project

If starting from scratch:
Or clone existing project:
5

Install Dependencies

Install all required packages:
This installs the dependencies from package.json:
6

Configure Environment

Create a .env file in the project root:
Security: Never commit .env to version control. It’s already in .gitignore:
7

Run Initial Setup

Initialize the database and install EverShop:
This command (evershop install) will:
  • Create all database tables
  • Set up initial data and schemas
  • Configure default settings
  • Create admin user
  • Initialize extensions
8

Start Development Server

Launch the application:
The server will start at http://localhost:3000
Development mode includes:
  • Hot module replacement
  • Source maps for debugging
  • Verbose error messages
  • Auto-compilation of TypeScript

Configuration Files

Package Configuration

Your package.json defines the project structure:
Runs evershop install to initialize the database and system. Use this once during initial installation.
Runs evershop dev to start the development server with hot reload. Use this during development.
Runs evershop build to compile TypeScript and bundle assets for production.
Runs evershop start to start the production server. Run build first.

Store Configuration

The config/default.json file contains base configuration:
Configure store-wide settings:

Environment-Specific Configuration

Extension Setup

Each extension has its own configuration:

Extension Structure

Extension Package Configuration

Extension TypeScript Configuration

Theme Setup

Current Theme: anasuplements

The active theme provides the visual layer:

Theme Configuration

Themes use the same TypeScript configuration as extensions. Each theme component exports:
Theme components should only contain presentation logic. Business logic belongs in extensions.

Production Deployment

Build for Production

1

Update Production Configuration

Edit config/production.json:
2

Set Environment Variables

Update .env for production:
3

Build the Application

Compile all TypeScript and bundle assets:
This compiles:
  • All extensions to .evershop/build/extensions/
  • All themes to .evershop/build/themes/
  • Creates optimized production bundles
4

Start Production Server

Or use a process manager like PM2:

Production Checklist

  • Strong SESSION_SECRET in .env
  • PostgreSQL users with limited privileges
  • HTTPS enabled (use reverse proxy like Nginx)
  • Firewall configured (only ports 80/443 open)
  • Regular security updates
  • Database connection pooling configured
  • Static assets served via CDN
  • Gzip compression enabled
  • Database indexes optimized
  • Caching strategy implemented
  • Error logging configured
  • Performance monitoring (APM)
  • Database backups automated
  • Uptime monitoring
  • Log rotation configured
  • Load balancer for multiple instances
  • Database read replicas
  • Redis for session storage
  • Message queue for async tasks
  • Auto-scaling configured

Troubleshooting

Problem: Cannot connect to PostgreSQLSolutions:
Problem: Port 3000 is already occupiedSolutions:
  1. Change port in config/default.json:
  1. Or kill the process using port 3000:
Problem: Extension fails to compileSolutions:
Problem: Custom extension doesn’t appearSolutions:
  1. Verify registration in config/default.json
  2. Check extension is enabled: "enabled": true
  3. Verify directory structure matches config
  4. Restart development server
  5. Check server logs for errors
Problem: GraphQL types not resolvingSolutions:

Next Steps

Development Guide

Learn how to build extensions and create custom functionality

Theme Customization

Customize the visual appearance of your store

API Reference

Explore the complete API documentation

GraphQL Schema

Learn about GraphQL types and queries
Additional ResourcesCheck the context/ directory in your project for detailed technical documentation in Spanish, including:
  • Architecture overview
  • Code standards
  • Testing guide
  • Deployment procedures