Prerequisites & Requirements

System requirements, tools, and accounts needed before installing Smart Shelf.

Prerequisites & Requirements

Before installing Smart Shelf, ensure you have the necessary tools, accounts, and system requirements in place.

System Requirements

Development Environment

  • Node.js 18.0 or higher
    • Download from nodejs.org
    • Verify installation: node --version
  • Package Manager
    • pnpm 8.0+ (recommended): npm install -g pnpm
    • npm 9.0+ (included with Node.js)
    • yarn 1.22+ (alternative): npm install -g yarn
  • Git for version control
    • Download from git-scm.com
    • Verify installation: git --version

Browser Requirements

  • Modern web browser with JavaScript enabled:
    • Chrome 90+ (recommended for development)
    • Firefox 88+
    • Safari 14+
    • Edge 90+

Hardware Requirements

  • Minimum: 4GB RAM, 2GB free disk space
  • Recommended: 8GB RAM, 5GB free disk space
  • For production: Depends on usage scale

Required Accounts

Supabase Account (Required)

Supabase provides the database and authentication backend for Smart Shelf.

Setup Steps:

  1. Visit supabase.com
  2. Sign up for a free account
  3. Verify your email address
  4. Note: Free tier includes 500MB database, 50,000 monthly active users

What You'll Need:

  • Valid email address
  • Password for your account
  • Payment method (for production usage beyond free tier)

Deployment Platform Account (Optional)

  • Free tier: Perfect for development and small projects
  • Pro tier: For production applications
  • Setup: Visit vercel.com and sign up
  • Integration: Connects directly with GitHub/GitLab

Alternative Platforms

Development Tools

Visual Studio Code with essential extensions:

Required Extensions:

  • ES7+ React/Redux/React-Native snippets
  • Tailwind CSS IntelliSense
  • TypeScript Importer
  • Prettier - Code formatter
  • ESLint

Installation:

code --install-extension dsznajder.es7-react-js-snippets
code --install-extension bradlc.vscode-tailwindcss
code --install-extension pmneo.tsimporter
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint

Browser Extensions (Development)

Chrome/Edge:

  • React Developer Tools
  • Redux DevTools (if using Redux)
  • Vue.js devtools (if using Vue components)

Firefox:

  • React Developer Tools
  • Redux DevTools

Optional Tools

Database Management

  • Supabase Studio: Built-in web interface (included)
  • pgAdmin: Desktop PostgreSQL administration tool
  • DBeaver: Universal database client
  • TablePlus: Modern database client (macOS/Windows)

API Development

  • Postman: API testing and development
  • Insomnia: Alternative API client
  • Thunder Client: VS Code extension for API testing

Version Control

  • GitHub Desktop: GUI for Git (optional)
  • GitKraken: Advanced Git client
  • SourceTree: Free Git client by Atlassian

Network Requirements

Development

  • Internet Connection: Required for package downloads and Supabase
  • Firewall: Allow connections to port 3000 (default development port)
  • Proxy: If behind corporate proxy, configure npm/pnpm proxy settings

Production

  • Domain Name: For custom domain (optional)
  • SSL Certificate: Automatic with most hosting platforms
  • CDN: Recommended for global deployment

Security Considerations

Development Environment

  • Antivirus: Ensure development tools are whitelisted
  • VPN: May affect package downloads; configure if necessary
  • Firewall: Allow Node.js and development servers

Production Environment

  • SSL/TLS: Always use HTTPS in production
  • Environment Variables: Never commit secrets to version control
  • Access Control: Implement proper user authentication

Verification Checklist

Before proceeding to installation, verify you have:

  • Node.js 18+ installed and working
  • Package manager (pnpm/npm/yarn) installed
  • Git installed and configured
  • Supabase account created and verified
  • Code editor with recommended extensions
  • Modern browser for development and testing
  • Internet connection stable and unrestricted
  • System meets hardware requirements

Troubleshooting Prerequisites

Node.js Issues

Version Conflicts:

# Check current version
node --version

# Use Node Version Manager (nvm) to manage versions
# Install nvm: https://github.com/nvm-sh/nvm
nvm install 18
nvm use 18

Permission Issues (macOS/Linux):

# Fix npm permissions
sudo chown -R $(whoami) ~/.npm

Package Manager Issues

pnpm Installation:

# Install pnpm globally
npm install -g pnpm

# Verify installation
pnpm --version

Network/Proxy Issues:

# Configure npm proxy
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080

# Configure pnpm proxy
pnpm config set proxy http://proxy.company.com:8080
pnpm config set https-proxy http://proxy.company.com:8080

Account Setup Issues

Supabase Account:

  • Check spam folder for verification email
  • Try different browser if signup fails
  • Contact Supabase support for account issues

Deployment Platform:

  • Ensure GitHub/GitLab account is accessible
  • Check organization permissions if using team accounts
  • Verify payment method if using paid features

Next Steps

Once you've completed the prerequisites:

  1. Environment Setup - Clone repository and install dependencies
  2. Database Configuration - Set up Supabase project
  3. Production Deployment - Deploy to production (optional)

Having issues with prerequisites? Check the Troubleshooting Guide for detailed solutions.