Giter Club home page Giter Club logo

Suggest.io: Your offer may be here

Suggest.io showcase

Suggest.io is conceptual solution to simply create rich eye-candy cross-screen content and simply attach it to physical locations via:

Contents

About

Suggest.io is an CMS-like + Web + Hybrid Mobile App solution over ElasticSearch storage, used to create design-rich screen-fit single-page Web, composed into unified nodes graphs and contexted into radio-beacon signals, geolocation regions, nodes graph, etc. Content placements can be monetized using build-in billing system.

Server, client and shared code written on Scala. Client-side UI developed using scalajs-react over React.js, and translated into JavaScript using Scala.js compiler. Server-side code based on Play! framework.

Some small parts contains non-scala code due to historical reasons.

Goals

  • More content placement dimensions. Current usual Internet structured into sites, and pages mapped to URLs. Content may be also transparently attached to geographical regions, radio-beacon signals, NFC-tags, geo/node-tags, etc. Abstract out from virtual and physical dimensions.
  • Create a simple representation into the internet for end-users. Currently, sites+domains+certificates+programmers+html+designers+etc+etc have too high cost for small business.
  • Extended navigation dimensions: usual site page-to-page navigation may be extended via extending current content view with new content.
  • Page can contain apps, app can show pages. Single-page view can become app. Abstract over browsers and apps.
  • Many screens -- one content. Abstract over mobiles, tables and PCs screens. Be responsible.
  • Become distributed. Current implementation designed with horizontal cluster scaling in mind. In future become more federated/distributed using blockchains/git/activitypub/etc as underlying storage.

Parts

There are three main parts of Suggest.io:

  • Showcase - Suggest.io start page (JS WebApp & Hybrid mobile app).
  • Private cabinet: registered user area. Create, edit and advertise nodes/content/etc.
  • System: restricted technical area for super-users and developers.

Also, there are shared client-server Scala-code, placed into src/shared directory. Such code includes common models and utilities, protocols, etc.

Requirements

Runtime

  • GraalVM jdk 11-15
  • sbt 1.3+
  • ElasticSearch 7 - Distibuted primary storage.
  • PostgreSQL (Used for billing)
  • SeaWeedFS (Distributed storage for pictures and other files)
  • ImageMagick
  • openjdk-8 for building cordova android app.

TODO Pre-build images/binaries not-yet ready, so see Development.

Development

  • sbt 1.3+
  • scala 2.13+
  • Node.js (for prepare assets and compile client-side code)

Getting started

  1. Install needed system packages:
  • pikaur -Sy jdk11-graalvm-bin imagemagick sbt elasticsearch-xpack postgresql seaweedfs
  1. Ensure elasticsearch, postgresql, seaweedfs master and volumes started.
  2. Go to main server sub-directory:
  • cd src1/server/www
  1. Install postgresql schema:
  • cat evolutions/default/schema.sql | sudo -U postgres psql
  1. Create server config:
  • cp conf/application.conf.example conf/application.conf
  1. Edit application.conf file according to your needs. Type your admin email into superusers.emails.
  2. Start the server:
  • sbt
  • project www
  • run Command run used for dev-mode. runProd for production, stage to compile production tarball into server/www/target/universal/ directory.
  1. See console log for created superusers with email typed at step 4.
  2. Open browser, go to login page. Wait for compilation finishes. Type login/password from step 6.
  3. Superuser also have access to special /sys/ pages.

Sponsors & partners

Development of Suggest.io has been invested by "Clever Boys Communication Agency" LLC ("CBCA"), formerly "Aversimage" LLC. Exclusive thanks to Alexandr Shumeyko, the founder and owner of CBCA/Aversimage companies.

Inbetween 2011-2021 years total investments from Alexandr Shumeyko are €350'000.

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Suggest.io's Projects

diode icon diode

Scala library for managing immutable application model

play-jsmessages icon play-jsmessages

Library to compute localized messages of your Play application on client side

play_securesocial icon play_securesocial

A module that provides OAuth, OAuth2 and OpenID authentication for Play Framework applications

scalacss icon scalacss

Super type-safe CSS for Scala and Scala.JS.

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.