• Stars
    star
    196
  • Rank 198,553 (Top 4 %)
  • Language
    CSS
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Shopix : an Elixir & Phoenix e-commerce platform

Shopix

Shopix is a work in progress of an e-commerce platform written in Elixir and using the Phoenix Web framework.

This is a Work In Progress and right now it should not be used in production without intensive testing.

If you want to encourage me to work on this project, you can make donations, right now in crypto-currencies.

Donate with Ethereum Donate with Bitcoin

Features

  • Clean Administration UI
  • Front-end theme using Bootstrap 4
  • Handles products with multiple images (through Uploadcare)
  • Unlimited groups and properties for products
  • Unlimited translations / locales
  • Braintree gateway
  • Static pages
  • VAT + Single Shopping cost

Screenshots

First screenshot Second screenshot Third screenshot Forth screenshot

What's missing?

  • Lots of polishing, testing, refactoring, etc.
  • Multiple/different VAT % (?)
  • Multiple/different shipping costs
  • Multiple payment gateways
  • Multiple images providers
  • Themes engine (Liquid?)

Installation of development server

  • Install dependencies with mix deps.get
  • Configure your database access by editing config/dev.exs
  • Create an Uploadcare account and a Braintree Sandbox account
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Run seeds with the first user admin account credentials: [email protected] ADMIN_PASSWORD=abcd1234 mix run priv/repo/seeds.exs
  • Install Node.js dependencies with cd assets && npm install
  • Start Phoenix endpoint with mix phx.server
  • Go to http://localhost:4000/admin, login with admin credentials
  • Go to Global configuration tab. Fill in the Uploadcare public key.
  • In the "Payment Gateway" field, add this config: {"provider_config":{"public_key":"your_braintree_public_key","private_key":"your_braintree_private_key","merchant_id":"your_braintree_merchant_id","environment":"sandbox","client_token":"your_braintree_tokenized_key"}}

Contributions

I really welcome contributions.

Please don't forget to write tests when doing pull requests.