Git Product home page Git Product logo

quaderno-edd's Introduction

=== EDD Quaderno ===
Author URI: https://www.quaderno.io/integrations/easy-digital-downloads?utm_source=wordpress&utm_campaign=edd
Contributors: polimorfico
Tags: tax, taxes, sales tax, vat, gst, vatmoss, vat moss, vat oss, oss, ioss, billing, invoices, receipts, credit notes, edd, easydigitaldownloads, easy digital downloads, quaderno
Requires at least: 4.6
Tested up to: 6.6
Stable tag: 1.37.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Automatically calculate tax rates & create instant tax reports for your Easy Digital Downloads store. Setup in less than 5 minutes.

== Description ==

Quaderno for EDD takes taxes off your plate by automatically calculating tax on every sale and following up with beautiful invoices, no matter where your customer is located. Transactions and invoices processed through Quaderno always comply with ever-changing local tax rules, including in the US, Canada, Australia, New Zealand, India, United Kingdom, and the European Union.

https://www.youtube.com/watch?v=mGs6SVOr7fU

= What you get =

* **Comply with local tax laws** in countries around the world, including the EU VAT OSS for digital products.
* **Get notified any time you surpass a tax threshold**, or when a tax rate changes anywhere you sell your products.
* **Get all the information you need for your tax returns**, at a glance, in mere seconds.
* **Automatic invoices, and credit notes** with every order and refund in your store, in **multiple languages and currencies**.
* **Manage all your revenue sources** in one easy-to-use dashboard.

**Setup in less than 5 minutes**. Fast and easy!

1. Download & activate this plugin
2. [Sign up](https://quaderno.io/integrations/easy-digital-downloads/?utm_source=wordpress&utm_campaign=edd) for a Quaderno account
3. Paste your API key in your EDD site
4. That's all!

**Please Note:** this plugin requires a [Quaderno](https://quaderno.io/integrations/easy-digital-downloads/?utm_source=wordpress&utm_campaign=edd) account.

== Installation ==

Following are the steps to install the EDD Quaderno

1. Unpack the entire contents of this plugin zip file into your wp-content/plugins/ folder locally.
2. Upload to your site.
3. Navigate to wp-admin/plugins.php on your site (your WP Admin plugin page).
4. Activate this plugin.
5. Configure the options from Downloads > Settings > Quaderno.

OR you can just install it with WordPress by going to Plugins > Add New > and type this plugin's name

That's it! You can now customize your EDD invoices and be tax compliant wordlwide.

== Frequently Asked Questions ==

= Do I need to modify any code? =
Nope - we take care of everything you. Just install the plugin, add your API token and you’ll be good to go!

= Does Quaderno work with any themes? =
Yes, Quaderno works with any theme - whether free, commercial or custom. You just need EDD activated for Quaderno to work.

If you have any questions please get in touch with us at [email protected].

== Screenshots ==

1. Copy your API token and API URL from your Quaderno account
2. Paste it on the Quaderno settings page
3. Checkout screen
4. Example of an invoice

== Changelog ==

= 1.37.5 – July 18, 2024 =
* Fix: round total amounts on line items

= 1.37.4 – July 17, 2024 =
* New: support for WordPress 6.6

= 1.37.3 – July 9, 2024 =
* Fix: error when a renewed subscription has no customer

= 1.37.2 – April 2, 2024 =
* New: support for WordPress 6.5

= 1.37.1 – February 28, 2023 =
* Fix: recurring invoices don't show the customer's name

= 1.37.0 – February 20, 2023 =
* New: use orders data to generate invoices

= 1.36.0 – December 19, 2023 =
* New: use the customer's current data to invoice renewed payments
* Fix: some credit notes are not being issued
* Fix: remove warning when accesing nonexistent IP addresses

= 1.35.1 – October 18, 2023 =
* Fix: the email tag must return the URL instead of an HTML link

= 1.35.0 – October 16, 2023 =
* New: add a email tag to show a link to the final invoice
* New: hooks to the purchase form business fields

= 1.34.0 – September 21, 2023 =
* New: show permalinks to credit notes in new refunds
* Fix: error when getting past orders during the invoice creation

= 1.33.4 – August 9, 2023 =
* New: support for WordPress 6.3

= 1.33.3 – Jun 12, 2023 =
* Fix: error in getting the IP address from the parent order

= 1.33.2 – May 26, 2023 =
* Fix: fallback to payment metadata searching in order metadata

= 1.33.1 – May 1, 2023 =
* Fix: warning message "Undefined index: clear_trasients"

= 1.33.0 – March 30, 2023 =
* New: support for partial credits
* Fix: review requests are not showing up
* Fix: customers meta are duplicated

= 1.32.1 – March 22, 2023 =
* New: Added support for paypal_commerce gateway

= 1.32.0 – February 7, 2023 =
* New: users from any country can enter their tax ID

= 1.31.0 – December 21, 2022 =
* IMPORTANT: This release needs EDD 3.x or higher, and should be tested in your staging environments prior to running on your live site.
* Fix: business name and tax ID is not set successfully
* New: refactoring the code to process recurring orders

= 1.30.3 – November 19, 2022 =
* Fix: fallback if function edd_get_customer_by does not exist

= 1.30.2 – November 14, 2022 =
* Fix: error when customer does not exist

= 1.30.1 – November 11, 2022 =
* Fix: notice on invoice manager
* Fix: a wrong tax rate is applied until the tax id is changed if the customer has it already set

= 1.30.0 – November 2, 2022 =
* New: send transaction id to Quaderno
* New: support for WordPress 6.1

= 1.29.9 – October 24, 2022 =
* Fix: shopping cart is hidden when a free product is purchased

= 1.29.8 – September 21, 2022 =
* Update: Spanish translation

= 1.29.7 – May 25, 2022 =
* New: support for WordPress 6.0

= 1.29.6 – April 22, 2022 =
* Fix: tax ID validation issues when validation service is down

= 1.29.5 – January 27, 2022 =
* New: support for WordPress 5.9

= 1.29.4 – December 27, 2021 =
* Fix: business names do not support single-quotes

= 1.29.3 – November 25, 2021 =
* Improvement: use the blog ID in the invoice's processor ID to avoid conflicts in multisite installations

= 1.29.0 – July 23, 2021 =
* New: validate tax IDs in Switzerland, Quebec, Australia, and New Zealand
* New: always show the field business name
* New: allow users to clear the tax cache
* New: support for WordPress 5.8

= 1.28.0 – July 5, 2021 =
* New: introducing new tax codes for SaaS and standard-rated products

= 1.27.3 – April 25, 2021 =
* New: move business fields to a new section in checkout form

= 1.27.2 – March 28, 2021 =
* Fix: error in total amounts in invoices

= 1.27.1 – March 26, 2021 =
* New: Base the transaction item amount on the subtotal minus discount.
* New: Expose the invoice transaction via filter before the invoice is created.
* New: Expose the credit transaction via filter before the credit is created.
* Fix: Wrong variable name in invoice creation.  

= 1.27.0 – March 23, 2021 =
* New: Use new Quaderno Transactions API
* New: Show renewal and upgrades notes if using EDD Recurring with the Software Licensing extension
* New: Support for EDD 3.0

= 1.26.5 – March 11, 2021 =
* New: Support for WordPress 5.7
* New: Support for EDD 2.10.1

= 1.26.4 – February 11, 2021 =
* New: hooks to overwrite tax calculations

= 1.26.3 – February 5, 2021 =
* Fix: location evidence are not stored in Quaderno

= 1.26.2 – January 20, 2021 =
* New: Support for installment payments

= 1.26.1 – December 9, 2020 =
* New: Support for WordPress 5.6

= 1.26.0 – November 23, 2020 =
* New: show link to Quaderno invoices in payment history page
* New: store customer's business name and tax ID as meta for future payments
* Improvement: javascript code

= 1.25.4 – August 27, 2020 =
* New: send tax region to Quaderno

= 1.25.3 – August 11, 2020 =
* New: Support for WordPress 5.5

= 1.25.2 - April 2, 2020 =
* New: Support for WordPress 5.4

= 1.25.1 - February 4, 2020 =
* Improvement: show reverse charge note when needed

= 1.25.0 - February 2, 2020 =
* Improvement: merge tax id and vat number fields
* Improvement: use region full names on invoices & credits

= 1.24.5 - December 10, 2019 =
* Improvement: move company name field to billing addres details area

= 1.24.4 - November 8, 2019 =
* Improvement: create new contact in Quaderno is customers udpate their names

= 1.24.3 - October 2, 2019 =
* Improvement: show tax IDs in some countries

= 1.24.2 - October 2, 2019 =
* Improvement: use VAT number if exists

= 1.24.1 - July 25, 2019 =
* Fix: syntax error in PHP 7.2+

= 1.24.0 - July 25, 2019 =
* New: send US tax codes to Quaderno
* New: use cities to calculate US sales tax
* New: require tax ID only in some EU countries

= 1.23.2 - June 10, 2019 =
* Change the processor ID for credit notes

= 1.23.1 - May 27, 2019 =
* Fix: Billing state/province field reset when plugin is active

= 1.23.0 - April 18, 2019 =
* New: Create products on Quaderno
* New: Generate invoices from admin dashboard

= 1.22.0 - March 10, 2019 =
* New: Send product code to Quaderno
* New: Store payment URL on Quaderno

= 1.21.1 - February 26, 2019 =
* Tested with WordPress 5.1

= 1.21.0 - February 19, 2019 =
* New: Send download tags to Quaderno
* New: Show error message when VIES service is down

= 1.20.2 - January 22, 2019 =
* New: Translation in German

= 1.20.1 - January 14, 2019 =
* New: Link credit notes to original invoices in Quaderno

= 1.20.0 - January 9, 2019 =
* New: new hooks

= 1.19.1 - December 6, 2018 =
* Fix: Tax ID should not be required for foreign customers
* New: support for WordPress 5.0

= 1.19.0 - December 3, 2018 =
* New: notes filter and invoice/credit action

= 1.18.2 - November 15, 2018 =
* Improvement: delete transients when plugin is deactivated

= 1.18.1 - September 19, 2018 =
* Fix: nonce warning

= 1.18.0 - September 10, 2018 =
* Improvement: send tax type to Quaderno

= 1.17.7 - August 30, 2018 =
* Fix: tax rates are not override for valid VAT numbers

= 1.17.6 - August 23, 2018 =
* Fix: Non admin users can see the review request

= 1.17.5 - August 9, 2018 =
* New: Demo video 

= 1.17.4 - August 8, 2018 =
* New: Show empty cell in History when a Quaderno invoice is not available 

= 1.17.3 - August 7, 2018 =
* Fix: Links to Quaderno invoices are show when they don't exist
* Fix: Error with customers on multisites

= 1.17.2 - July 27, 2018 =
* Fix: Error in tax calculation call in checkout page

= 1.17.1 - July 25, 2018 =
* Fix: Error when parent metadata are copied in recurring payments

= 1.17.0 - July 16, 2018 =
* New: Show a link to invoice in purchase history
* New: Ask for plugin review

= 1.16.12 - July 16, 2018 =
* Enhacement: Use EDD tax fallback when Quaderno does not return any tax rate
* Enhacement: Reduce transient time for VAT numbers
* Enhacement: Use .json extension in all API calls

= 1.16.11 - July 2, 2018 =
* Fix: Use timestamps as processor ID

= 1.16.10 - June 20, 2018 =
* Fix: VAT numbers are not copied on subscriptions
* Fix: Warning in payment details when VAT number does not exist

= 1.16.9 - June 9, 2018 =
* Fix: Syntax error in settings 

= 1.16.8 - May 23, 2018 =
* Fix: VAT numbers are not showing up in the payment details
* Fix: VAT numbers are not updated 

= 1.16.7 - May 18, 2018 =
* Fix: Recurring payment do not remember original VAT numbers and IP address

= 1.16 =
* New: Use translations from wordpress.org
* New: Update customer's data in recurring purchases
* Fix: Refunds are not created for edd_subscriptions
* New: Users can add new payment methods
* New: Discounts are showed on invoices and credits
* Fix: Company name disappears when you change an order status
* Fix: Some payment processor repeat their transaction ID
* New: Store invoices URL on payment meta
* New: Show Quaderno URL on payment details
* Fix: Refactoring evidence collection

= 1.15 =
* New: Support for gateway fees
* Fix: Error when you apply a 100% off discount

= 1.14 =
* New: Add an item per cart detail
* New: Update VAT number if customer exists

= 1.13 =
* New: Tax ID field 
* New: Billing address is required
* New: Compatibility with EDD 2.8
* New: Update Quaderno API version
* Fix: Error at delivering invoices
* Fix: Error in free purchases

= 1.12 =
* Always show business name field
* Move placeholders to descriptions
* Fix: Use payment date on invoices
* Fix: Problem with edd_get_payment
* Fix: Credit notes for recurring payments are not issued
* New: Edit VAT numbers
* Fix: VAT number is not stored after a PayPal payment
* Fix: Credits are not issued for recurring payments
* New: WordPress 4.8 compatibility
* Fix: http_build_query() warnings

= 1.11 =
* New: Compatibility with EDD 2.7

= 1.10 =
* New: Users can enter their business name during checkout
* Update copys
* Fix: Invoices are not being sent if VAT number is empty
* Fix: Credit customers are wrong

= 1.9 =
* New: Merge cart items in invoices and credit notes
* New: WordPress 4.7 compatibility
* Fix: Use last name for people with a valid VAT number

= 1.8 =
* New: Send invoices (simplified invoices)
* New: Add just one item to the invoice
* New: Do not invoice if total amount is zero
* Fix: error with customers on multisites
* Fix: negative payments always generate invoices
* Fix: sometimes transaction id does not exist
* Fix: sanitize vat numbers and translations

= 1.7 =
* New: Send gateway info to Quaderno
* Fix: error when customer has not name

= 1.6 =
* New: Compatibility with EDD 2.5
* New: Validate EU VAT Numbers
* New: Request Tax ID to Spanish customers
* New: Hide VAT Number field when customer is based in the store country
* New: Track different payment methods on Quaderno
* Fix: syntax bug for certain PHP versions
* Fix: error with Tax ID when the store is not Spanish

= 1.5.3 =
* New: Mark recurring payments

= 1.5.2 =
* Fix: error in payment date

= 1.5.1 =
* Fix: autosend option cannot be deactivated

= 1.5.0 =
* New: Process recurring payments

= 1.4.1 =
* Minor fixes

= 1.4.0 =
* New: Create credit notes for refunds
* New: Refactoring code
* New: Update descriptions

= 1.3.1 =
* Fix: error when purchases include more than one item

= 1.3.0 =
* New: Remove contacts when a customer is deleted
* New: Create invoices faster

= 1.2.4 =
* TNew: ag invoices from EDD

= 1.2.3 =
* New: Tested on Wordpress 4.3
* Fix: total amount is wrong when taxes are included
* New: Update translations

= 1.2.2 =
* Fix: error at calculating taxes when cart is empty

= 1.2.1 =
* Fix: discount does not appear on final invoices

= 1.2.0 =
* New: Cache tax calculations
* New: Mark e-books on download detail page

= 1.1.0 =
* New: Calculate taxes for e-books
* New: New icons

= 1.0.0 =
* First version

quaderno-edd's People

Contributors

bporcelli avatar dormi avatar flowdee avatar polimorfico avatar suhiltzaile avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

quaderno-edd's Issues

Tax info is not saved in the payment details

The problem is that there's an inconsistency between the Quaderno invoice and EDD payment details.

Ie. someone purchases something, the Quaderno tax is set to 0 and invoice is generated without it while in payment details you can still see the tax, ie. 23%.

Maybe it's because I have the store set up in a way the total price is always the same (tax included).

To save the tax info I can get from Quaderno I created a simple snippet:

function edd_quaderno_tax_rewrite( $payment_id ) {

	$payment = new EDD_Payment( $payment_id );

	if ( $payment->total == 0 || ! function_exists( 'edd_quaderno_tax' ) ) {
		return;
	}

	$metadata   = $payment->get_meta();
	$vat_number = isset( $metadata['vat_number'] ) ? $metadata['vat_number'] : '';

	$tax = edd_quaderno_tax( $payment->address['country'], $payment->address['zip'], $vat_number );

	$tax_rate       = $tax->rate / 100;
	$total          = $payment->total;
	$net            = $total / ( 1 + $tax_rate );
	$tax            = $total - $net;

    // Update each product tax and total.
    foreach ( $payment->cart_details as $item_index => $item_details ) {

    	$item_total = $item_details['item_price'];
    	$item_net   = $item_total / ( 1 + $tax_rate );
    	$item_tax   = $item_total - $item_net;

    	$payment->modify_cart_item( $item_index, array(
    		'item_price' => $item_net,
    		'subtotal'   => $item_net * $item_details['quantity'],
    		'tax'        => $item_tax,
    	) );

    }

    // Update tax rate, tax total is calculated automatically when updating items.
    $payment->tax_rate = $tax_rate;
    $payment->subtotal = $net;
    $payment->total    = $total;

    $payment->save();

}
add_action( 'edd_complete_purchase', 'edd_quaderno_tax_rewrite', 100 );
add_action( 'edd_recurring_record_payment', 'edd_quaderno_tax_rewrite', 100 );

Note: this is untested and probably needs more logic like tax included/excluded and discounts handling.

Fatal mistake when creating invoices

Hi @polimorfico , i am florian's colleague (@flowdee)

in some cases on our web sites (different server and different domain) the invoices are not generated. If you try to create them manually in EDD, the following critical error occurs:

`Fatal error: Uncaught Error: Too few arguments to function edd_quaderno_get_order_meta(), 1 passed in /sites/files/wp-content/plugins/edd-quaderno/includes/invoices.php on line 241 and exactly 2 expected
in /sites/files/wp-content/plugins/edd-quaderno/includes/order_details.php on line 54

Call stack:

edd_quaderno_get_order_meta()
wp-content/plugins/edd-quaderno/includes/invoices.php:241
edd_quaderno_process_recurring_payment()
wp-content/plugins/edd-quaderno/includes/invoices.php:264
edd_quaderno_resend_invoice()
wp-includes/class-wp-hook.php:308
WP_Hook::apply_filters()
wp-includes/class-wp-hook.php:332
WP_Hook::do_action()
wp-includes/plugin.php:517
do_action()
wp-content/plugins/easy-digital-downloads-pro/includes/admin/admin-actions.php:28
edd_process_actions()
wp-includes/class-wp-hook.php:308
WP_Hook::apply_filters()
wp-includes/class-wp-hook.php:332
WP_Hook::do_action()
wp-includes/plugin.php:517
do_action()
wp-admin/admin.php:175
require_once()
wp-admin/edit.php:10`

Do you have any idea?

Thanks, best,
Mirko

PHP warnings

We received the following PHP warnings on a test site.

Occurred when my colleague created an invoice + made a refund.

You should maybe add some checks before working with the variables/properties etc.

[06-Nov-2023 14:54:57 UTC] PHP Warning:  Attempt to read property "ip" on bool in /sites/dev.com/files/wp-content/plugins/edd-quaderno/includes/invoices.php on line 241
[06-Nov-2023 14:56:40 UTC] PHP Warning:  Undefined variable $tax in /sites/dev.com/files/wp-content/plugins/edd-quaderno/includes/credits.php on line 49
[06-Nov-2023 14:56:40 UTC] PHP Warning:  Attempt to read property "notes" on null in /sites/dev.com/files/wp-content/plugins/edd-quaderno/includes/credits.php on line 49
[06-Nov-2023 14:56:40 UTC] PHP Warning:  Undefined variable $tax in /sites/dev.com/files/wp-content/plugins/edd-quaderno/includes/credits.php on line 49

Purchase Receipt Emails: Invoice URL tag

It would be very helpful if the Quaderno invoice URL was available in the EDD Purchase Receipt emails as tag (e.g. quaderno_invoice_url) so we can link it directly in the receipts customers receive.

Bildschirmfoto 2023-10-01 um 07 58 12

Here's the code example from EDD how they easily add their stripe related tag:

/**
 * Register the statement_descriptor email tag.
 *
 * @since 2.6
 * @return void
 */
function edd_stripe_register_email_tags() {
	$statement_descriptor = edds_get_statement_descriptor();
	if ( ! empty( $statement_descriptor ) ) {
		edd_add_email_tag(
			'stripe_statement_descriptor',
			__( 'Outputs a line stating what charges will appear as on customer\'s credit card statements.', 'edds' ),
			'edd_stripe_statement_descriptor_template_tag',
			__( 'Statement Descriptor', 'edds' )
		);
	}
}
add_action( 'edd_add_email_tags', 'edd_stripe_register_email_tags' );

/**
 * Swap the {statement_descriptor} email tag with the string from the option
 *
 * @since 2.6
 * @param $payment_id
 *
 * @return mixed
 */
function edd_stripe_statement_descriptor_template_tag( $payment_id ) {
	$payment = new EDD_Payment( $payment_id );
	if ( 'stripe' !== $payment->gateway ) {
		return '';
	}

	$statement_descriptor = edds_get_statement_descriptor();
	if ( empty( $statement_descriptor ) ) {
		return '';
	}

	// If you want to filter this, use the %s to define where you want the actual statement descriptor to show in your message.
	$email_tag_output = __( apply_filters( 'edd_stripe_statement_descriptor_email_tag', 'Charges will appear on your card statement as %s' ), 'edds' );

	return sprintf( $email_tag_output, $statement_descriptor );
}

Fatal error:

An error of type E_ERROR was caused in line 85 of the file /sites/bracketspace.com/files/web/app/plugins/edd-quaderno/includes/taxes.php.
Error message: Uncaught Error: Call to undefined function edd_get_customer_by() in /sites/example.com/files/web/app/plugins/edd-quaderno/includes/taxes.php:85

I suppose that function has been introduced in EDD 3.0, we're using EDD 2.11.7 for the sake of another compatibility.

Tax ID field display overrides EDD Stripe's hide/show of address fields

This only happens if a user goes through EDD checkout with a saved address. The EDD Stripe plugin hides all billing address fields, including edd_tax_id_wrap, on page load. The EDD Quaderno JS interferes with this as it fires toggle_tax_id_fields() on the 'edd_gateway_loaded' JS event which causes the Tax ID field to be displayed when all other billing address fields are hidden

AJAX response from edd_ajax_recalculate_taxes tied to incorrect element

It appears that line 57 of edd-quardeno.js should reference #edd_checkout_cart_form, not #edd_checkout_cart . The response fromedd_checkout_cart() (which is called via the AJAX function edd_ajax_recalculate_taxes()) includes the #edd_checkout_cart_form div in the HTML response itself, so you end up nesting the div over and over again unintentionally.

Update tax info for payment

Can Quaderno, while generating the invoice, update the subscription payment taxes (product tax and total tax)?

This would help to keep the data across the payments and invoices unified. Now ie. when tax ID is not valid the invoice can have different data than saved within the payment (VAT exempt).

EDD 3.0 compatibility

As a heads-up, the EDD team is working on plugin v3.0 and there's already first beta published.

I think this affects the Quaderno plugin as it stores custom meta within the Payment.

EDD Customer: Update VAT details

We regularly experience the issue that customers who got charged for renewal orders (subscriptions) automatically, receive invoices without VAT details.

The problem: When they purchased in the past, they forgot to add their details in the checkout.

Even when we update the details directly via Quaderno (and create credit notes), next year, when subscription renewal hits, the invoices are created again without VAT details. I think it's because the data is missing in EDD?

It would be great if customers (and we EDD admins) could update VAT details (number and company name) via EDD.

1. Via the customer edit screen

Bildschirmfoto 2023-11-02 um 09 25 18

2. The customer themselves via profile edit screen

Shortcode: [edd_profile_editor]

Bildschirmfoto 2023-11-02 um 09 24 22

Billing State / Province is reset when EDD Quaderno is active

If you checkout as a customer with a saved Billing State when EDD Quaderno is active, the saved state does not show up in the Billing State field. This happens because Quaderno triggers the change event on the #billing_country dropdown when the page loads, thus causing EDD to regenerate and replace the Billing State field.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.