Vesper is the first fully open-source art marketplace platform. The solution is based on React, Material UI, Express, PostgreSQL, Socket.io, AWS S3 and Stripe.
Official website: https://vesperart.co
Learn more about the project
How it works (for artists and collectors)
- Custom authentication: To ensure complete user privacy, custom authentication is implemented, without OAuth options, that supports auto-refreshing access tokens
- Artist/collector profile creation: Users can set up unified profiles to both showcase and collect work on the platform
- Artwork management: Artists have control over how their artwork is displayed and interacted with
- Licensing control: Artists can define the types of licenses available for each piece of their artwork, including free, personal, and/or commercial licenses
- Artwork pricing: Artists can set their own prices for their artwork licenses
- Notifications: Users receive real-time updates whenever there is relevant information concerning them
- Dashboard: Users can track their progress and sales/purchases through their dashboard
- Secure payment processing: Stripe is used for all transactions, ensuring secure processing, fee management and delivery of funds
- Artwork interaction: Collectors can browse and explore various artworks from different artists and favorite, comment on, and purchase/download their work
- Artwork collection: Collectors can admire their collection in a gallery view, complete with a slideshow feature
- License verification: A robust system is in place for users to verify the authenticity of every purchased/downloaded artwork
- Multi-device usage: Collectors can download their purchased artworks on multiple devices without DRM restrictions
- License management: Detailed information about every license can be accessed and verified using the platform's verifier system
- And much more
git clone https://github.com/msiric/vesper-demoyarn && cd client && yarn && cd ..The application uses five different environments: development, production, staging, seeding and testing.
To run the application locally, create a .env.development file using the .env.example file as a reference with your own configuration.
To run the application, VS Code's run tasks are used: Terminal -> Run task -> Run name of task (e.g. Run dev). To enable payments, make sure to set up Stripe and logging in before running the app. Additionally, ensure Fly CLI is installed locally to proxy the requests.
To run the E2E tests on the test DB:
yarn testThere are additional options specified in the package.json file that allow for file watching, test coverage and fresh DB wipe with test assets being uploaded to S3 for a clean slate test run.
yarn seed:dev-db OR yarn seed:test-dbAgain, additional options are available for finer control such as: seed-test-db-entities and seed:test-db-s3
Deployments are automatically taken care of using GitHub actions. On every pull request merge, the app is deployed to the staging environment and on every GitHub release, the app is deployed to production.
Issues and PRs are welcomed.
