https://github.com/elementary/store
The elementary OS merch store website
https://github.com/elementary/store
elementaryos elixir phoenix store
Last synced: 3 months ago
JSON representation
The elementary OS merch store website
- Host: GitHub
- URL: https://github.com/elementary/store
- Owner: elementary
- License: agpl-3.0
- Created: 2020-10-01T05:34:34.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-06-24T16:52:54.000Z (7 months ago)
- Last Synced: 2025-06-24T17:49:25.390Z (7 months ago)
- Topics: elementaryos, elixir, phoenix, store
- Language: Elixir
- Homepage: https://store.elementary.io
- Size: 29.8 MB
- Stars: 29
- Watchers: 4
- Forks: 10
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
This repository is an elixir website for `https://store.elementary.io`. It
connects to Printful for products, and Stripe for payment processing.
## Developing on elementary OS (or Ubuntu)
This guide assumes elementary OS 6 or Ubuntu 20.04; the steps should be similar for any Ubuntu-based OS, but may differ bassed on the exact distribution or version.
1. **Install Docker**
You can install Docker however you'd like, but we recommend following [this DigitalOcean guide](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04), including adding your user to the `docker` group.
2. **Install `docker-compose`**
Similarly, you can install docker-compose however you see fit, but the fastest way is probably via Python's `pip`:
1. `sudo apt install python3-pip`
2. `pip3 install docker-compose`
3. **Configure secrets** for development
Add your Printful API key to `config/dev.secret.exs` like so:
```ex
import Config
config :store, Printful.Api,
api_key: "aaaaaaaa-bbbb-cccc:dddd-eeeeeeeeeeee"
```
To test Stripe integration as well, add your Stripe test keys to `config/dev.secret.exs`:
```ex
config :stripity_stripe,
api_key: "sk_test_aBcDeFgHiJkLmNoPqRsTuVwX",
public_key: "pk_test_zYxWvUtSrQpOnMlKjIhGfEdC"
```
That's it, you're all set to start contributing.
## Running
This repository contains a `docker-compose.yml` file for easier development.
Make sure you have `docker-compose` installed, then run these commands:
1) `docker-compose build` to build the containers. If you make changes to any
dependencies, or are getting issues where code does not seem to update, re-run
this step.
2) `docker-compose up` to start the server and dependencies. This is your main
command and after you run steps 1 and 2, you should only need to run this
command to get back up and running.
If you change any configuration/secrets, you need to restart `docker-compose up` for it to take effect.
## Translations
All translations are extracted to the template files when new commits are
pushed to master. If you would like to help translate this site, please see the
[elementary weblate instance](https://l10n.elementary.io/).
## Deploying
This repository is setup with continuous integration and deployment. If you want
to deploy your changes, all you need to do is open a PR to the master branch.
Once your PR is accepted and merged in, it will automatically be deployed.
## License
This repository is made available under the terms of the GNU Affero General
Public License version 3 or any later version. See `LICENSE` for details.