DEV Community

Elijah Lopez
Elijah Lopez

Posted on

3 1

Lenerva.com - Ecommerce with Monero Support

Overview of My Submission

I made the first every Javascript-free ecommerce store, with a dark theme by default, credit card processing via Stripe checkouts, and can process Monero (a crypto).
I've also integrated it with Printify AND custom items. This means that I can sell my own software as well as sell shirt designs mad e in printify.

Furthermore, I have made use of multiprocessing and IPC to avoid needing an MQ or a broker. The pros of this are that I need less dependencies, a shorter workflow and I could develop the code on Windows without requiring to use WSL.

The backend is Flask and I extensively used jinja2, html, and CSS to provide a wicked dynamic UX (checkout, snackbar notification, multi-currency prices).

It uses mongoDB clusters to host user data (site admin verification for now), custom products, and order data.

Submission Category:

E-Commerce Creation using serverless clusters.

Link to Code

lenerva.com Source Code

  • Ecommerce
    • Monero processing
    • Credit-card processing
    • Future Interac processing
    • Printify (drop shipping)
    • Extendable Multi-Pricing UI
      • USD and CAD
      • Can be extended to support currencies found in
      • Sets default currency based on IP
  • MongoDB Atlas/Clusters
  • Emailing
    • Email order confirmations
    • Email possible exceptions to developer
  • JavaScript-free
  • Future: Runs on TOR

Requirements

  • Python 3.10.1+
  • %SERVER_NUM% >= 1
  • Monero (not optional at the moment)
    • Monero binaries
      • Daemon (pruned in production)
      • RPC Wallet
    • Wallet files
      • Stagenet wallet in development
      • Mainnet wallet in production
  • Email account
    • Set %DISABLE_EMAIL% = 1 to disable email

Deployment Instructions

  • TODO
  • Each server the website is hosted on should have a different ^%SERVER_NUM% >= 1 in the environment variables to avoid processing the same order multiple times.
  • On the production server, you need to set %XMR_WALLET_PW%

Notes

  • Copying monero: links into the GUI works rather than manually typing in the address and amount

Stripe Test Cards

From https://stripe.com/docs/testing#cards

Additional Resources / Info

The background is a gif. I made it in After Effects. It was inspired by the divergence circle from WestWorld, but since I'm not a professional VFX editor, I put my own spin on it.

This is v1 of the site as it meets my base specifications. My next goal is to setup a DigitalOcean droplet and run this code in production to serve https://lenerva.com. I want to create more software in the near-term, and this website marks the first milestone in my next ventures.

Image description
Image description
Image description
Image description
Image description
Image description

I'm un-commentating this part since I was under the impression that the deadline was 2 AM EST.

Submissions are due on January 13th, 2022 @ 11:59 PM PT/2 AM ET on January 14th, 2022/6 AM UTC on January 14th, 2022).

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay