rbao

rbao

Freshcom API is an open source eCommerce backend built using Elixir & Phoenix, it provides a intuitive, developer friendly RESTful API.

Freshcom Dashboard is the admin panel front-end for Freshcom API built using VueJS.

I have previously done many eCommerce project mostly in Ruby on Rails, when a friend recommended me Elixir I immediately fall in love with the language. But there is really not much eCommerce related resource in the community, most of the open source ecom project were abandoned so I decided to roll my own and use it a opportunity to dive deeper into elixir & phoenix.

First line of code was written in Mar 2017, since then I have wrote and re-wrote it many times, its finally at a stage that I feel good enough to share tho still not production yet. This turns out to be a much bigger project than I expected, so I am actively looking for contributors. Any suggestions and code review are also welcome!!

Please check it out, any feedback is appreciated

Showing Posts 1 to 6

aclambda

aclambda

Hi rbao,
I’m very excited about your project!
I’ll check it out and I’ll be back to you soon!
I could have a real business case for Freshcom…
All the best,
Aldo

rbao

rbao OP

Hey Aldo, thanks for checking it out, let me know if you encounter any problem.
If you do have a business case we can definitely chat more in detail.

Roy

Exadra37

Exadra37

Hi @rbao I am trying to play with freshcom_web and freshcom_backend but I don’t find the Get Startded installation/setup in the docs.

I am trying to run it my laptop but it sounds you are hard-coding it to run on AWS or am I misunderstanding something?

freshcom_web/config/config.exs:

config :ex_aws, region: System.get_env("AWS_REGION")

freshcom_web/config/dev.exs:

config :fc_state_storage, adapter: FCStateStorage.DynamoAdapter

By the way congrats for what looks to be a huge endeavor that you are taking alone.

rbao

rbao OP

Hi Exadra37 thanks for taking interest in Freshcom.

To answer your question first, right now Freshcom does a hard dependency with AWS DynamoDB for storing write side state through the DynamoAdapter. The Adapter is very straight forward to write, if you want to use other services instead of AWS, you can simply write your own adapter. There is also a MemoryAdapter for testing.

I have been rewriting a lot of stuff from what was originally the freshcom_api repo (which at the time was close to a beta, but I discovered some major flaw in the design and hence the rewrite). Currently there is still a long way to go before it can actually being used.

If you are looking for a production ready library then this is definitely not there yet. However if you are looking for something you can potentially use in the next 6 months to a year, or just want to play around I can definitely show you how to set it up.

I m in the Elixir Slack Channel, that is probably the best way to reach me. I can even give you a demo if you prefer.

Also there is Avia Commercd which is another Elixir eCom library that is under actively development. You can check them out as well see if it will fits your need better for now.

Exadra37

Exadra37

Hi @rbao thanks for the quick reply.

I discovered first the Avia Commercd one and afterwards I saw the Freshcom one and I loved the fact that is event source based , thus I was looking to play with it to see how it works.

Currently I don’t have a need to use any eCommerce solution, but my background as a software developer started with the Prestashop eCommerce platform and I always had the dream of building a simple one just for fun, but never went through with it.

When I discovered event sourcing I though in doing some personal project to apply that concept but never end-up to dive on it. Now that I discover Elixir I really want to dive in something with event sourcing in the mix, because I think Elixir and event sourcing have born for each other.

I really would love to play with your solution, but I really would like for you to consider it to be agnostic of the cloud being used and to be able to run it locally.

Regarding writing the adapter I can try with my limited Elixir knowlodge, at least will be a good way to learn and do something useful to open source.

I will discover you on slack, but why not a Gitter channel for your project? Gitter integrates directly with a Github repo…

Do you want me to contribute with a docker stack for your project?

rbao

rbao OP

Hi, good to know that, its great that you want to learn ES, elixir and ES is a very nice mix.

To answer your question, right now its just myself working on it since its not at stage where someone can use it right the way I didn’t bother to create a Gitter. I can definitely create one once it get has some tractions, or if there is people willing to contribute.

And yes, eventually I do want to make it agnostic to 3rd party services.

I am not too familiar with docker and how that work, lets chat further on Slack :slight_smile:

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
_mfierro
Hello, I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after readin...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
durvia
Anyone running long-lived stateful processes on BEAM? We’re building an AI agent runtime and would love to compare notes. We’re a small ...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews