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
- pnpm 8.0+ (recommended):
- 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:
- Visit supabase.com
- Sign up for a free account
- Verify your email address
- 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)
Vercel (Recommended)
- 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
- Netlify: netlify.com
- Railway: railway.app
- Digital Ocean: digitalocean.com
- AWS/Azure/GCP: For enterprise deployments
Development Tools
Code Editor (Recommended)
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:
- Environment Setup - Clone repository and install dependencies
- Database Configuration - Set up Supabase project
- Production Deployment - Deploy to production (optional)
Having issues with prerequisites? Check the Troubleshooting Guide for detailed solutions.