1. The principle of crowdfunding and joint purchase (hereinafter JV) :
1.1. The crowdfunding services presented on the Internet are built according to a single scheme and, apparently, on one or two platforms. There is no particular difference between charitable and investment versions. The mechanism for controlling investment in projects comes down to the promise of being honest, sometimes backed up by some kind of registration documents. When making a payment, the registration data of the investor are indicated, which, apparently, are available to the founder of the project. Further cooperation is already taking place through personal communication channels without the participation of a crowdfunding platform.
Examples:
1.2. The joint venture is basically built on the principle of a forum or a regular online store where there is a customer of a consignment of goods that organizes an order with the seller and mailing to retail customers.
Examples:
http://forumodua.com/forumdisplay.php?f=186
http://forum.spscript.ru/ example module for the phpBB forum
2. The principle of the project of the joint venture module and crowdfunding:
2.1. There is a batch of one product of a certain volume.
2.2. There is a set of similar products at the same price that make up the batch (for example: shoes of different sizes).
2.3. There is a non-material product type:
2.3.1. Cost is evenly distributed to each buyer.
2.3.2. The buyer can indicate the amount to be paid.In the first case, the user contributes part of the amount with the ability to select the amount of goods from the party.In the second - the user must pay for a part of the product with the possibility of choosing its type or types, while they must become inaccessible to other users.The third case is based on the principle of the first.It follows that the maximum number of users who ordered the goods should (may) be equal to the quantity of goods in the batch.In addition, you must be able to purchase the entire batch of goods by one user.It is necessary to provide for the possibility of refusing to purchase the goods until the end of the formation of the purchase with a refund (probably withholding the penalty).If the order is not formed before the deadline, the user has the right to a full refund of the amount made by him.
3. A possible list of settings for the product:
3.1. The number of users needed to complete the purchase (the number of units in a batch, the number of shares).
3.2. The end date of the formation of the purchase.
3.3. Type of joint venture (see paragraph 2.).
3.4. With type 2 of the joint venture, you must be able to configure the types of goods included in the batch.
3.5. The total cost of the party.
3.6. The ability to choose the method of purchasing goods: pieces, shares, indicating a specific amount.
3.7. When editing a batch, the ability to view already paid users, presumably with the ability to manipulate this list.
4. Custom functions:The user must:
4.1. See in your account a list of goods that you paid for, but have not yet received.
4.2. See the deadline for the formation of the order and the number of subscribers to it.
4.3. Probably be able to refuse the purchase.
4.4. Receive notification of order completion or cancellation.
5. Implementation:
5.1. Professional interface design for many millions of bucks:



5.2. Database:
To the table of goods:
- Identification field is_SP;
- Number of units (0-entry of the amount manually by the customer);
- The end date of the formation of the order (Null - unlimited, but is this necessary?);
A field with a list of id of users who joined the order.To tables of orders, cards of users it is also necessary to stick something. The structure of these tables will be studied, I promise!
5.3. Controllers and performance:
- Modification of the controller for the orders section in accounts;
- Modification of the controller of the output of goods with the new features
- Modification of the controllers output list of goods with the new features.
5.4. Model:
- Modification of the model for the product, taking into account new fields;
- Modification of the model for orders.








