πŸ€‘πŸ’° Crowdfunding Platform backed by Ethereum Blockchain to bring your creative projects to life

Overview

Crypto Crowdfund

For Creators

Lacking the money to bring your Creative Venture to Life?

Crypto Crowdfund Campaigns will help you turn your creative ideas into reality! It's where creators share new visions for creative work with the communities that will come together to fund them.

No matter what, creators always control how the work comes together: no 100-page grant applications, no donors demanding you modify your message, no last-minute edits from investors. When backers chip in funding and help spread the word, they too become part of these independent works.

For Investors

Worried about being Conned by Fake Campaigns?

Crypto Crowdfund brings power to the Investors as well! Backed by the razor-edge security of BlockChain Technology, only after the majority of the investors have approved a Transaction Request, the transaction can be processed.

No more being scammed by Fake Campaigns!

For Scalability

Made to Last

Crypto Crowdfund is powered by the cutting edge technology of Micro-Frontends, making developing scalable issues a thing of the past.

Each sub-application in Crypto Crowdfund is developed and run as a separate instance. So a bug in one part of the application cannot affect the other parts.

Firebase Setup

Follow the instructions below to setup Firebase

  1. Create a Firebase project

  2. Add Authentication to the project & enable Email Authentication

  3. Add Firestore to the project & secure the database using these rules:

    rules_version = '2';
    service cloud.firestore {
       match /databases/{database}/documents {
          match /campaigns/{campaign} {
             allow read: if true;
             allow create: if request.auth != null;
             allow update: if request.auth != null && request.auth.uid == resource.data.uid;
          }
          match /requests/{requestList} {
             allow read, create: if request.auth != null;
          }
          match /users/{user} {
             allow read, create: if true;
             allow update: if request.auth != null && request.auth.uid == resource.data.uid;
          }
       }
    }

Setup

The application uses yarn to run.

To set up the Smart Contract please check out the steps mentioned in the ReadMe under smart-contract. To run the Blockchain Sub-app, generating all files is mandatory

  1. Run the command yarn to install all dependencies

  2. Add .env files at the root of all Sub-apps and the Container with the following data:

    # firebase config
    API_KEY=<api_key>
    AUTH_DOMAIN=<auth_domain.firebaseapp.com>
    PROJECT_ID=<project_id>
    STORAGE_BUCKET=<storage_bucket.appspot.com>
    MESSAGING_SENDER_ID=<messaging_sender_id>
    APP_ID=<app_id>
    MEASUREMENT_ID=<measurement_id>

    Add .env.development file at the root of Blockchain Sub-app following data:

    # auth config
    TEST_AUTHENTICATE_EMAIL=<firebase_test_user_email>
    TEST_AUTHENTICATE_PASSWORD=<firebase_test_user_password>

    and also add the infura key in the .env file in the Blockchain Sub-app

    # ...
    # infura key
    INFURA_PROJECT_ID=<infura_project_id>
  3. Run the command yarn run-auth to run the Auth Sub-app

    Runs on http://localhost:8001. Valid routes: /sign-in, and /sign-up

  4. Run the command yarn run-marketing to run the Marketing Sub-app

    Runs on http://localhost:8002. Valid routes: /, /about, /faq, /terms-and-conditions, /privacy-policy, and /disclaimer

  5. Run the command yarn run-blockchain to run the Blockchain Sub-app

    Runs on http://localhost:8003. Valid routes: /account?uid=<user_id>, /campaign?id=<campaign_id>, /campaigns and /create-campaign

  6. Run the command yarn run-container to run the Container

    Runs on http://localhost:3000. Compiles all Sub-Apps routes and determines when a user can visit them, eg: restricts authenticated users from visiting /sign-in, and /sign-up

NOTE: The application is hard-coded to run on Rinkeby Network. To use the application on other networks, please switch to the desired network in the web3.ts and deploy.js files.

Building the Application

  • Build the Sub-Apps using yarn build (inside each Sub-Apps Directory)

  • Deploy all Sub-Apps to any provider of choice

  • Create packages/container/webpack/urls.json with the deployed urls

    {
      "auth": "<deployed-auth-subapp-url>",
      "marketing": "<deployed-marketing-subapp-url>",
      "blockchain": "<deployed-blockchain-subapp-url>"
    }
  • Build the Container using yarn build (inside the Container Directory)

  • Deploy the Container to any provider of choice

You might also like...

A small and simple stress testing tool for Ethereum-compatible blockchain networks

A small and simple stress testing tool for Ethereum-compatible blockchain networks

Overview pandoras-box is a small transaction stress testing tool, part of any Ethereum client developer's toolkit. It is made for Ethereum-compatible

Aug 30, 2022

Using a Decentralized Application (DApp) to Sell artwork on the Ethereum blockchain with smart contracts written in Solidity.

Decentralized Applications For Selling Limited Time Artwork This repository houses the Solidity, JavaScript, and HTML code for a Decentralized Applica

Mar 20, 2023

A pointer lock movement manager for customizing your own creative UI.

A pointer lock movement manager for customizing your own creative UI.

Pointer Lock Movement A pointer lock movement manager for customizing your own creative UI. Inspired by Figma's number input element: Dragging on an i

Nov 4, 2022

A public board for all the Computer Society and Students to display their profile. An online year-book for you to display your profile in the most creative manner

A public board for all the Computer Society and Students to display their profile. An online year-book for you to display your profile in the most creative manner

Student's Yearbook by IEEE Computer Society Student's yearbook is an open-source project which intends to dispaly the students who will be graduating

Dec 18, 2022

It is a very basic implementation of how blockchain works, mainly how the bitcoin blockchain.

How to run this program npm install node core/blockchain.js What is this It is a very basic implementation of how blockchain works, mainly how the bit

May 9, 2022

HackMIT 2022. 2nd Place in Blockchain for Society sponsored by Jump Crypto. A revolutionary web application that leverages machine learning and blockchain technology to improve the crowdsourcing experience!

HackMIT 2022. 2nd Place in Blockchain for Society sponsored by Jump Crypto. A revolutionary web application that leverages machine learning and blockchain technology to improve the crowdsourcing experience!

πŸ“• Wikisafe πŸ“• Wikisafe is a revolutionary new crowdsourcing web application that innovates the process of crowdsourcing information. This application

Dec 8, 2022

A self-hosted solution for backing up and viewing backed up mobile photos

A self-hosted solution for backing up and viewing backed up mobile photos

Photostore Photostore is a self-hosted, client-server solution for backing up, viewing and downloading photos. How it works The Photostore API (writte

Oct 25, 2022

The Backed Beans project front-end. Completed.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Apr 27, 2022
Owner
Man of Justice
Looking for an senior developer position in a dynamic firm that values my analytical and technical skills and provides scope for updating my knowledge
Man of Justice
Conways-game-of-life - A Conway's Game Of Life project using Python

conways-game-of-life A Conway's Game Of Life project using Python JavaScript Devlog January 1st 2022: also need to remember Python's syntax a bit will

Felipe Melgaço Magesty Silveira 0 Sep 23, 2022
Your Ethereum control panel. Interact with smart contracts on Ethereum.

etherfunk Your Ethereum control panel. Interact with smart contracts on Ethereum. ?? https://etherfunk.io ?? Devleopment First, run the development se

Tom Quirk 23 Sep 24, 2022
LearnR is an educators application that aims to bring together students and teachers on the community platform.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Emerenini Cynthia Ngozi 0 Sep 5, 2022
CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms

CodeTogether is a platform that aims to bring all the developers and coders together to appreciate collaborative coding by resolving issues faced by programmers on normal IDEs/platforms. It allows developers to communicate with their fellow developers or collaborators through online voice call and realtime chat. Besides, the whiteboard makes the framing of an algorithm easier by helping programmers working collaboratively to discuss and plan their approach together

Shayan Debroy 5 Jan 20, 2022
chain-syncer is a module which allows you to synchronize your app with any ethereum-compatible blockchain/contract state. Fast. Realtime. Reliable.

Chain Syncer Chain Syncer is a JS module which allows you to synchronize your app with any ethereum-compatible blockchain/contract state. Fast. Realti

Miroslaw Shpak 10 Dec 15, 2022
A comprehensive collection of useful tools developed with the help of Ethers.js to interact with the Ethereum Blockchain to develop great DeFi apps as quickly and easily as possible.

hudi-packages-ethersfactory How to install Installing with npm For more information on using npm check out the docs here. npm i @humandataincome/ether

HUDI 6 Mar 30, 2022
Multi-sig wallet for the Ethereum blockchain.

Ethereum Multi-sig Wallet See it live here Prerequisites Follow this guide to create an Ethereum wallet and switch to the Rinkeby Test Network Send yo

Spencer Miller 8 Feb 26, 2022
An Ethereum-compatible blockchain with a giant capacity for storage

goliath The Goliath blockchain is an Ethereum L2 with a giant capacity. For devs, it means you'll never need another chain. No bridges, no new languag

Liam Zebedee 17 Dec 23, 2022
NFT sales monitoring bot for the Ethereum blockchain. (ERC721, ERC1155)

Ethereum-NFT-Sales-Bot NFT sales monitoring bot for the Ethereum blockchain. (erc721, erc1155) Table of Contents Click to expand Market Coverage GIF G

null 33 Dec 13, 2022
Interplanetary Database: A Database built on top of IPFS and made immutable using Ethereum blockchain.

IPDB IPDB (Interplanetary Database) is a key/value store database built on top of IPFS (Interplanetary File System). Project is intended to be an MVP

turinglabs 8 Oct 6, 2022