Code Monkey home page Code Monkey logo

databiz-website's Introduction

databiz-website

./src/assets/logos/DatabizLogo.svg

Build Status

This website is a VuePress instance with a custom monopage-theme applied on it, you can read the official documentation to learn how to edit contents or how the theme works.

Requisites

You need the following software installed in your machine in order to get started:

  • Node.js latest stable
  • Yarn package manager Both can be installed via Homebrew on MacOS & Linux environments.

Create a local development environment

Clone the repo locally

$ git clone [email protected]:bitrockteam/databiz-website.git

Move on the folder and install dependencies with Yarn

$ cd databiz-website && yarn

Start the development webserver on localhost:8080

$ yarn start

Branching policy

This project follows a simple branching policy:

  • master contains only stable code, and should not be updated directly
  • gh-pages where the distrubutable static files are deployed

Do NOT merge directly development into master (it's admin-locked...), always send a PR to have a review.

Update & deploy

Every time the master branch got updated (a direct commit or a merged PR) a new Travis CI job is triggered and it composed basically of 3 steps:

  1. create new build of static files
  2. server side render the main .html file with Puppeteer
  3. deploy the build folder into the related gh-pages branch

Licenses

The Databiz Group, Bitrock and Radicalbit logos are registered trademarks. Code is distributed under the GNU AGPLv3 license. Included stock photos have been provided by Unsplash.

databiz-website's People

Contributors

alessandromenini avatar dependabot[bot] avatar elfolink avatar gargangela avatar moebiusmania avatar stiv avatar tau9 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

databiz-website's Issues

Investigate CMS solution

At the moment the website is a ~~~single static HTML file~~~ SPA built with lit-html on client side fetching the content from a static JSON file , it fits well since it will not be updated often from a structural point of view but it will be needed to give non-technical content editor the ability to update the contens of the website (at least the texts).

A standalone WordPress installation is excluded from this evaluation since it will be quite overpowered.

Proposals:

Templating & render

Following from #2 , the website will then need to be based on a dynamic template engine to take advantage of the decoupling from the content and reducing source code.

Lit-html will be the ideal solution since we will only need pure aesthetic and stateless components.

For performance and SEO best practices it will be rendered sever-side by Puppeteer on build time.

slideshow mode

Add a flag (ideally an url parameter) to activate a kinda of totem mode of the website, removing navigation links and main CTA button making the hero ideal to be displayed in fullscreen ( a bit like a live wallpaper...) and then automatically scroll the page like a presentation/slideshow.

screen shot 2018-09-05 at 17 59 08

Refactor to VuePress

Motivation:

Giving the nature of single-page website with very few updates a nice solution to achieve simplicity, performance and separation of contents from (dynamic) templates can be found in VuePress, since we are now growing quite confindents with it.

Switching to VuePress we can return to publish the website on GitHub pages since the result will be a static page, removing the need of a platform (and costs) as Heroku while keeping al current advantages.

Taskslist:

  • create a branch to setup the new VuePress v1.0 project
  • move contents to static .md files
  • plugins to install
  • custom components to develop
  • apply CSS from current version
  • add in public folder
    • static assets
    • internal services redirect pages (ehour, apriporta)
  • update TravisCI config to new build pipeline
  • databiz.it domain to point GitHub page

Browser back button

Pressing the browser's back button cause to "exit" from the website (since its a one-page).
It would be nice to bind the sliding animation to the browser native history.

hero unit adapt on resize

By now the hero unit on the website sets the height only when the page in first loaded, keeping it then fixed if the window or the viewport is resized.

Add the ability to make it readapt "live" via JS events or with some good CSS!

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.