Skip to content

swellstores/proxima-app

Repository files navigation

Proxima - Swell Storefront App

Proxima is an official Swell storefront app built with Astro and React, designed to provide a modern, performant e-com

πŸ“¦ Deployment

Proxima is designed to deploy on Cloudflare Pages for optimal performance. This app serves as both a production-ready app and a reference implementation for building custom Swell storefronts apps.

πŸ‘‰ Official documentation

🌟 Features

  • πŸ›οΈ Complete ecommerce experience: Full-featured storefront with product listings, cart management, checkout, and customer accounts
  • 🎨 Adaptable design: Customizable theme systemusing sections and blocks, compatible with Shopify themes
  • 🌐 Multi-language & multi-currency: Full internationalization support
  • πŸ“± Responsive: Mobile-first design that works across all devices

πŸš€ Capabilities

  • Cross-selling & upselling: Product recommendations and sticky add-to-cart features
  • Account management: Customer registration, login, order history, and subscription management
  • Content management: Blog system, custom pages, and flexible content sections
  • Search & navigation: Advanced search functionality with category filtering
  • Bulk pricing: Support for wholesale and volume pricing tiers
  • Subscription commerce: Built-in support for recurring payments and subscriptions

πŸ›οΈ Shopify theme compatibility

One of Proxima's most powerful features is its Shopify compatibility layer, enabling merchants to use existing Shopify themes with minimal modifications:

✨ What's supported

  • Liquid templates: Complete support for Shopify's Liquid templating language
  • Theme objects: Most Shopify Liquid objects, filters, and tags are supported
  • Page templates: Direct mapping between Swell and Shopify page types
  • Forms: All standard Shopify forms (login, cart, checkout, etc.) work seamlessly
  • Sections & layouts: Full compatibility with Shopify's Online Store 2.0 framework

πŸ”„ Template mapping

Proxima automatically converts Shopify page types to Swell equivalents:

Shopify Template Proxima Template Description
index.liquid index.json Homepage
product.liquid products/product.json Product detail page
collection.liquid categories/category.json Category/collection page
list-collections.liquid categories/index.json Category listing
page.liquid pages/page.json Content pages
blog.liquid blogs/category.json Blog category
article.liquid blogs/blog.json Blog article
customers/*.liquid account/*.json Customer account pages

πŸŽ›οΈ Advanced features

  • Dynamic object conversion: Swell objects are automatically converted to Shopify-compatible formats
  • Form compatibility: Shopify form patterns work without modification
  • Route mapping: Shopify URLs are mapped to equivalent Swell routes
  • Theme editor support: Works with Swell's visual theme editor

πŸš€ Migration benefits

  • Cost effective: Reuse existing Shopify theme investments
  • Developer friendly: Leverage existing Shopify development expertise
  • Time saving: Minimal code changes required for theme migration
  • Future proof: Access to Swell's advanced commerce features while maintaining familiar theme structure

πŸ“‚ Project structure

proxima/
β”œβ”€β”€ frontend/                    # Astro frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ layouts/            # Page layout templates
β”‚   β”‚   β”œβ”€β”€ pages/              # Route definitions and page components
β”‚   β”‚   β”‚   β”œβ”€β”€ account/        # Customer account pages
β”‚   β”‚   β”‚   β”œβ”€β”€ blogs/          # Blog and content pages
β”‚   β”‚   β”‚   β”œβ”€β”€ cart/           # Shopping cart functionality
β”‚   β”‚   β”‚   β”œβ”€β”€ categories/     # Product category pages
β”‚   β”‚   β”‚   β”œβ”€β”€ products/       # Product listing and detail pages
β”‚   β”‚   β”‚   └── search/         # Search functionality
β”‚   β”‚   β”œβ”€β”€ resources/          # Data fetching and API integration
β”‚   β”‚   β”œβ”€β”€ forms/              # Form handling components
β”‚   β”‚   └── utils/              # Utility functions and helpers
β”‚   └── public/                 # App's own static assets
β”œβ”€β”€ assets/                     # App assets and marketing materials
β”œβ”€β”€ settings/                   # App configuration settings
└── swell.json                  # Swell app configuration

πŸ› οΈ Development

Prerequisites

  • Node.js 18.16.1 or higher
  • npm, yarn, or pnpm
  • Swell CLI installed globally

Installing Swell CLI

npm install -g @swell/cli

Creating your own version

To create your own custom storefront app based on Proxima:

  1. Clone the Proxima repository

    git clone https://github.com/swellstores/proxima-app.git my-storefront-app
    cd my-storefront-app
  2. Install dependencies

    npm install
  3. Login to Swell

    swell login
  4. Push the app to your development store

    swell app push
  5. Start development mode

    swell app dev

    This will start the local development server and open your browser to preview the app

Development workflow

  • Local development: Use swell app dev to run the app locally with live reloading
  • Push changes: Use swell app push to sync configuration changes to your development store
  • Watch mode: Use swell app watch to automatically push changes as you develop
  • Deploy frontend: Use swell app frontend deploy to deploy your frontend to Cloudflare Pages

Available scripts

Command Description
swell app dev Start development server with live reloading
swell app push Push app configuration to development store
swell app watch Watch for changes and auto-push configurations
swell app frontend deploy Deploy frontend to Cloudflare Pages
swell app info Show app information and status
npm run build Build production version locally

Advanced development

  • Theme development: Use swell theme dev --local to develop themes alongside your app
  • Multiple storefronts: Use --storefront-select to choose which storefront to preview
  • Version management: Use swell app version to manage app versions
  • Release: Use swell app release to publish new versions to the App Store

πŸ—οΈ Architecture

Proxima is built using modern web technologies:

  • Frontend: Astro + React for optimal performance and developer experience
  • Deployment: Cloudflare Pages with edge computing capabilities
  • API integration: Swell Apps SDK for seamless ecommerce functionality
  • Styling: Component-based styling with theme customization
  • Testing: Jest for unit testing

πŸ”§ Configuration

The app is configured through several key files:

  • swell.json: Defines app metadata, page routes, and Swell integration
  • astro.config.mjs: Astro framework configuration
  • package.json: Dependencies and build scripts
  • .swellrc: Swell CLI configuration

🎨 Theming

Proxima includes a flexible theming system that allows for:

  • Custom color schemes and branding
  • Configurable layout sections
  • Responsive design components
  • Template overrides for custom functionality

οΏ½ Deployment

Proxima is designed to deploy on Cloudflare Pages for optimal performance:

  1. Build the frontend: npm run build
  2. Deploy using Swell CLI or Cloudflare Pages directly
  3. Configure environment variables for your Swell store

🀝 Contributing

This is an official Swell storefront app. For customizations:

  1. Fork the repository
  2. Make your changes
  3. Test thoroughly
  4. Submit a pull request

πŸ“š Resources

πŸ“„ License

See the LICENSE file for details.


Proxima is maintained by the Swell team and serves as the reference implementation for modern Swell storefronts.

About

Proxima app allows to run storefronts implemented with liquid template engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors