All Projects → yongfook → Zipsell

yongfook / Zipsell

Licence: mit
A free open source platform for selling digital downloads such as ebooks

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Zipsell

React Storefront
Build and deploy e-commerce progressive web apps (PWAs) in record time.
Stars: ✭ 275 (-42.95%)
Mutual labels:  ecommerce-platform
Bicbucstriim
BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection.
Stars: ✭ 336 (-30.29%)
Mutual labels:  ebooks
Geek Programming Books
Free programing ebooks
Stars: ✭ 412 (-14.52%)
Mutual labels:  ebooks
Saleor Dashboard
A GraphQL-powered, single-page dashboard application for Saleor.
Stars: ✭ 278 (-42.32%)
Mutual labels:  ecommerce-platform
Cezerin2 Api
Cezerin2 is React and Node.js based eCommerce platform. React Shopping Cart.
Stars: ✭ 315 (-34.65%)
Mutual labels:  ecommerce-platform
Technical Ebooks
PDFs for programming tutorials.
Stars: ✭ 342 (-29.05%)
Mutual labels:  ebooks
Hacking Security Ebooks
Top 100 Hacking & Security E-Books (Free Download)
Stars: ✭ 3,232 (+570.54%)
Mutual labels:  ebooks
Aimeos Laravel
Laravel ecommerce package for professional, ultra fast online shops, complex B2B applications and #gigacommerce
Stars: ✭ 5,204 (+979.67%)
Mutual labels:  ecommerce-platform
Pressbooks
Open publishing. Open web. Open source.
Stars: ✭ 324 (-32.78%)
Mutual labels:  ebooks
Warezz
It's illegal cuz they can't tax you!
Stars: ✭ 386 (-19.92%)
Mutual labels:  ebooks
Workarea
Workarea is an enterprise-grade Ruby on Rails commerce platform
Stars: ✭ 290 (-39.83%)
Mutual labels:  ecommerce-platform
React Storefront
React Storefront - PWA for eCommerce. 100% offline, platform agnostic, headless, Magento 2 supported. Always Open Source, Apache-2.0 license. Join us as contributor ([email protected]).
Stars: ✭ 292 (-39.42%)
Mutual labels:  ecommerce-platform
E Books
IT technical related e-books and PPT information, continuous updating. For those in need, Keep real, peace and love.
Stars: ✭ 357 (-25.93%)
Mutual labels:  ebooks
Game Programmer Study Notes
⚓ 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
Stars: ✭ 6,050 (+1155.19%)
Mutual labels:  ebooks
Free Livros
Educação é um direito de todos
Stars: ✭ 433 (-10.17%)
Mutual labels:  ebooks
Free Security Ebooks
Free Security and Hacking eBooks
Stars: ✭ 3,132 (+549.79%)
Mutual labels:  ebooks
Bagisto
An easy to use, free and open source laravel eCommerce platform to build your online shop in no time.
Stars: ✭ 4,140 (+758.92%)
Mutual labels:  ecommerce-platform
Example Storefront
Example Storefront is Reaction Commerce’s headless ecommerce storefront - Next.js, GraphQL, React. Built using Apollo Client and the commerce-focused React UI components provided in the Storefront Component Library (reactioncommerce/reaction-component-library). It connects with Reaction backend with the GraphQL API.
Stars: ✭ 471 (-2.28%)
Mutual labels:  ecommerce-platform
Polar Bookshelf
Polar is a personal knowledge repository for PDF and web content supporting incremental reading and document annotation.
Stars: ✭ 4,411 (+815.15%)
Mutual labels:  ebooks
Solidus
🛒Solidus, Rails eCommerce System
Stars: ✭ 3,985 (+726.76%)
Mutual labels:  ecommerce-platform

Zipsell intro

Zipsell

Zipsell helps you set up an online store for selling digital products such as ebooks, music, videos, source code etc.

Zipsell handles payment processing via stripe and sends customers secure expiring Amazon S3 links to the files they have purchased. Since it is self-hosted, you receive payments directly and avoid paying commissions to 3rd party marketplaces.

Zipsell is built with Ruby on Rails.

Demo site - http://demo.zipsell.org

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Zipsell is a Ruby on Rails app. These instructions assume you have run a rails app on your local machine before.

Installing

Clone the project into a local folder and run the included setup file:

git clone https://github.com/yongfook/zipsell
cd zipsell
./bin/setup

Configuration

During local setup above, a git-ignored config file is generated at config/application.yml.

Populate this with your local and production config for Amazon AWS, Stripe etc. You can have environment-specific values for local, test and production. ENV config is handled by the Figaro gem.

The config template looks like this:

#general - all required
shop_name: My Shop
shop_domain: localhost:3000
shop_email_support: [email protected]
shop_email_noreply: [email protected]

#email - all required, for email delivery in production
SMTP_host: 
SMTP_port: 
SMTP_username: 
SMTP_password: 

#payments - all required, for processing payments
stripe_api_key: 
stripe_publishable_key: 

#file storage - all required, for storing files securely
AWS_REGION: 
AWS_BUCKET: 
AWS_ACCESS_KEY_ID: 
AWS_SECRET_ACCESS_KEY: 

#file management - all required
file_expiry_hours: "24"
file_max_downloads: "10"

#cdn host - optional, for faster static asset serving in production
cdn_host_assets: 
cdn_host_s3_bucket: 

#analytics - optional, in the format UA-XXXXXXXX-XX
google_analytics_id:

#
# production:
#   stripe_api_key: 
#   stripe_publishable_key: 

These should be self explanatory except for the optional cdn host section.

cdn_host_assets: This is the optional Rails asset pipeline cdn host. Use this if you want to serve css / js faster. Include the protocol you want to use e.g. https://myapp.cdn.com

cdn_host_s3_bucket: This is the optional Amazon Cloudfront cdn host for your S3 bucket. Use this if you want to serve uploaded image files faster. Do not include the protocol, use only the hostname e.g. randomname.cloudfront.net

Running locally

Start your rails server:

rails s

Your shopfront is at:

http://0.0.0.0:3000

Your admin dashboard is at:

http://0.0.0.0:3000/admin

Deployment on Heroku

To deploy to heroku for the first time:

heroku create
git push heroku master
heroku run rails db:migrate
figaro heroku:set -e production

The last line updates the remote heroku server with the ENV config in config/application.yml.

You will need to run this command again if you change your production config.

Contributing

In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Built With

  • Amazon S3 is used as the file store. All downloadable files have non-public access rights and download links are securely signed with a configurable expiry time.
  • Bulma is used as the css framework.
  • Figaro is used to set production configuration without commiting files or storing sensitive information in databases.
  • Heroku is used as the production environment in my readme, although you are free to deploy it anywhere else.
  • Paperclip is used for file attachments. I purposely removed Active Storage from the app as it is currently not suitable for serving files via CDN. Zipsell needs flexibility - image previews can be served from a CDN while private, downloadable files are served directly from the S3 bucket.
  • Ruby on Rails is used as the web application framework.
  • Stripe is used as the payment processor. You use your own Stripe account with Zipsell and all payments go directly to you.

License

This project is licensed under the MIT License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].