Skip to content

Server Side for CoCreateJS. Containing websocket, crud, auth, server side rendering, and permission components.

License

Notifications You must be signed in to change notification settings

CoCreate-app/CoCreateWS

Repository files navigation

CoCreateWS

Server Side for CoCreateJS. Containing websocket, crud, auth, server side rendering, and permission components.

GitHub latest release GitHub contributors License Hiring


Table of Contents


Installation

NPM

$ npm i @cocreate/cocreatews

Yarn

$ yarn add @cocreate/cocreatews

MongoDB

MongoDB URL is required in CoCreate.config.js param db_url to succesfully start the server. You can use the dbUrl generated by MongoDB atlas or a localhost url by installing MongoDB locally.

MongoDB Atlas

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

MongoDB Local Install

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/


Proxy Server

Use your prefered proxy server: nginx, apache, etc

https://domain.com/ forwarded to port 3000

wss://domain.com/ws/ forwarded to port 3000


Install NPM Dependencies

NPM

$ npm install

Yarn

$ yarn install

Create an organization and apiKey

In CoCreate.config.js add your organization and user data, then run createdb to create the first organization and user.

npm

$ npm createdb

Yarn

$ yarn createdb

Start Server

npm

$ npm start

Yarn

$ yarn start

Testing with CoCreateJS clientside using HTML5 attribute api

HTML5 attribute api example

<!DOCTYPE html>
<html lang="en">

    <body class="padding:5px">

        <form array="test" object="">
            <input placeholder="Name" name='firstname' class="floating-label">
            <h1 name='lastname'  contenteditable></h1>
        </form>

        <script>
            var config = {
                apiKey: '<apiKey from CoCreate.config.js>',
                organization_id: '<organization_id from CoCreate.config.js>',
                host: '<Your CoCreateWS domain>'
            };
        </script>
        <script src="/dist/CoCreate.js"></script>

    </body>
</html>

Javascript object api example

Paste in your browsers console

crud.readDocument({
    array: "test",
    object: "",
});

Announcements

All updates to this library are documented in our CHANGELOG and releases. You may also subscribe to email for releases and breaking changes.


Roadmap

If you are interested in the future direction of this project, please take a look at our open issues and pull requests. We would love to hear your feedback.


About

CoCreateWS is guided and supported by the CoCreate Developer Experience Team.

Please Email the Developer Experience Team here in case of any queries.

CoCreateWS is maintained and funded by CoCreate. The names and logos for CoCreate are trademarks of CoCreate, LLC.


How to Contribute

We encourage contribution to our libraries (you might even score some nifty swag), please see our CONTRIBUTING guide for details.

We want this library to be community-driven, and CoCreate led. We need your help to realize this goal. To help make sure we are building the right things in the right order, we ask that you create issues and pull requests or merely upvote or comment on existing issues or pull requests.

We appreciate your continued support, thank you!


License

This software is dual-licensed under the GNU Affero General Public License version 3 (AGPLv3) and a commercial license.

  • Open Source Use: For open-source projects and non-commercial use, this software is available under the AGPLv3. The AGPLv3 allows you to freely use, modify, and distribute this software, provided that all modifications and derivative works are also licensed under the AGPLv3. For the full license text, see the LICENSE file.

  • Commercial Use: For-profit companies and individuals intending to use this software for commercial purposes must obtain a commercial license. The commercial license is available when you sign up for an API key on our website. This license permits proprietary use and modification of the software without the copyleft requirements of the AGPLv3. It is ideal for integrating this software into proprietary commercial products and applications.

If you have not purchased a commercial license and intend to use this software for commercial purposes, you are required to sign up for an API key on our website.