ExShop alternatives and similar packages
Based on the "Applications" category.
Alternatively, view ExShop alternatives based on common mentions on social networks and blogs.
-
Phoenix Trello
Trello tribute done in Elixir, Phoenix Framework, React and Redux. -
Phoenix Battleship
The Good Old game, built with Elixir, Phoenix, React and Redux -
Logflare
Never get surprised by a logging bill again. Centralized structured logging for Cloudflare, Vercel, Elixir and Javascript. -
AlloyCI
Continuous Integration, Deployment, and Delivery coordinator, written in Elixir. -
ExChat
(Not maintaining) A Slack-like app by Elixir, Phoenix & React(redux) -
CaptainFact
🔎 CaptainFact - API. The one that serves and process all the data for https://captainfact.io -
Phoenix Toggl
Toggl tribute done with Elixir, Phoenix Framework, React and Redux. -
Startup Job
An app to search startup jobs scraped from websites written in Elixir, Phoenix, React and styled-components. -
Consolex
Consolex is a tool that allows you to attach a web based console to any mix project -
Hydra
Open source API gateway with integrated cache and data transformations. -
uai_shot
A multiplayer ship game built with Elixir, Phoenix Framework and Phaser. :rocket: -
Queerlink
A simple yet efficient URL shortening service written in Elixir -
Alher
Alexander is a rock-solid IRC bot written in Elixir with powerful plugins. -
Exon
Exon is a “mess manager” developed in Elixir and provides a simple API to manage & document your stuff. -
Nvjorn
A multi-protocol network services monitor written in Elixir using Poolboy. -
medex
Medical Examination - application for register health check callbacks and represent their state via HTTP. -
majremind
A self-maintained database of your updated server which tells you which one needs to be updated. -
Stabby Flies
A multiplayer fighting game built with Elixir, Phoenix and Pixi.
Static code analysis for 29 languages.
Do you think we are missing an alternative of ExShop or a related project?
README
Authentic Pixels
Digital goods shop & blog created using Phoenix Framework (Elixir)
This is the source code for my new website - Authentic Pixels. Through Authentic Pixels, I plan to deliver high quality free & premium web resources including Bootstrap HTML templates, startup landing pages, UI kits, mockups & themes for Ghost & Wordpress.
Demo & Screenshots
View the live website here - Authentic Pixels
Here are some screenshots of the admin area.
This project has been a great learning experience for me. Coming from Ruby on Rails, there are a lot of things that are done differently in Elixir/Phoenix and building this app has helped me understand the "Elixir way" of doing things.
Some of the things that this project helped me wrap my head around are -
- Nested records & associations (e.g: Product has many variants)
- Handling many-to-many associations and validating them
- Uploading images
- Testing
- Switching to Webpack from Brunch
- Creating Sitemaps and running a cron task to regularly run the sitemap generation task
- Deploying (to a Digital Ocean box using Dokku)
- Sending HTML emails.
- Separating admin area from frontend using differnt layouts and scopes in
router.ex
I will be writing about this is a lot more detail on my blog soon.
Installation
Clone the repository and install the dependencies
git clone [email protected]:authentic-pixels/exshop.git cd exshop mix deps.get npm install
Create the database and run the migrations
mix ecto.create mix ecto.migrate
Create an admin user. You can change the email and password in
priv/repo/seeds.exs
file.mix run priv/repo/seeds.exs
Add your Cloudinary keys. Create a file called
dev.secret.exs
insideconfig
folder with the following contents. Be sure to change the 'name', 'api_key' and 'api_secret' fields.use Mix.Config config :cloudini, api_key: "CHANGE_ME", api_secret: "CHANGE_ME", name: "CHANGE_ME", stub_requests: false, http_options: [timeout: 15000]
Start the server
iex -S mix phoenix.server
Now visit http://localhost:4000/ to see the frontend version. To access the admin area, visit http://localhost:4000/admin. You can login with the email and password set in
priv/repo/seeds.exs
.
Running tests
Set up your test database
MIX_ENV=test mix ecto.reset
Run all the tests on file change
mix test.watch
Todo
- [x] Create sitemaps
- [x] Cron task to update sitemaps frequently
- [ ] Add archives page to blog
- [ ] Create RSS feeds
- [ ] Explore Google AMP versions for product/post pages
- [ ] Write integration tests for admin area
Credits
The Elixir/Phoenix community is really welcoming & responsive. There are tons of nice examples and packages that helped me with my learning. Here are some of the elixir packages that I am using in this project -
- Comeonin for password hashing
- test.watch for running tests
- Bamboo for sending emails
- Cloudini for uploading images to Cloudinary
- Quantum for running cron tasks
- Curtail for truncating HTML snippets
- XML builder for generating Sitemaps
- Kerosene for pagination
For any questions/comments/suggestions, drop me a line at - [email protected] or send me a tweet.
Thanks,