All Projects → brikis98 → hello-startup-site

brikis98 / hello-startup-site

Licence: other
The website and mobile app for the book "Hello, Startup" by Yevgeniy Brikman

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to hello-startup-site

quickstartup-template
Django Boilerplate Template for SaaS applications
Stars: ✭ 44 (-47.62%)
Mutual labels:  startup, entrepreneurship
side-project-kit
🔖 A collection of FREE tools to get your side project off the ground, and fast!
Stars: ✭ 145 (+72.62%)
Mutual labels:  startup, startup-resources
carillon
Hackintosh startup boot "Chime" sound via LaunchDaemon
Stars: ✭ 37 (-55.95%)
Mutual labels:  startup
react-native-startup-time
measure startup time of your react-native app
Stars: ✭ 88 (+4.76%)
Mutual labels:  startup
awesome-startup-stack
Curated list of technologies for your next startup
Stars: ✭ 32 (-61.9%)
Mutual labels:  startup
startup-sozlugu
Startup dünyasında sık kullan kelimeler ve terimler
Stars: ✭ 21 (-75%)
Mutual labels:  startup
tech-hubs
🏠 🏢 Where are the tech hubs in Nigeria?
Stars: ✭ 142 (+69.05%)
Mutual labels:  startup
ezdmb
A dead-simple digital menu board display and configuration, written in Python.
Stars: ✭ 17 (-79.76%)
Mutual labels:  startup
responsive-html-email-templates
Collection of Free responsive HTML templates for Startups
Stars: ✭ 187 (+122.62%)
Mutual labels:  startup
cmake-nasm-test
Building a nasm hello world app with cmake
Stars: ✭ 18 (-78.57%)
Mutual labels:  hello-world
webpack-mpvue-startup
A template with webpack 3 + mpvue 1 setup for projects startup
Stars: ✭ 13 (-84.52%)
Mutual labels:  startup
HelloWorld
About Add any Program in any language you like or add a hello world Program ❣️ if you like give us ⭐
Stars: ✭ 15 (-82.14%)
Mutual labels:  hello-world
open-expenses
A curated list of (private) businesses publicly sharing their expenses.
Stars: ✭ 46 (-45.24%)
Mutual labels:  startup
career-resources
Some SWE/PM/Designer related career resources for students
Stars: ✭ 154 (+83.33%)
Mutual labels:  startup
Android-Touch-Helper
开屏跳过-安卓系统的开屏广告自动跳过助手
Stars: ✭ 488 (+480.95%)
Mutual labels:  startup
auxilin
Open source Node.JS product launch kit that saves a lot of your time 👻
Stars: ✭ 26 (-69.05%)
Mutual labels:  startup
HelloWorlds
Hello-World program in most programming languages
Stars: ✭ 102 (+21.43%)
Mutual labels:  hello-world
HelloWorld
Collection of Hello World programs written in multiple languages =D
Stars: ✭ 37 (-55.95%)
Mutual labels:  hello-world
hello-wayland
A hello world Wayland client, 2018 edition
Stars: ✭ 95 (+13.1%)
Mutual labels:  hello-world
Portfolio
Repo to share my personal Portfolio
Stars: ✭ 12 (-85.71%)
Mutual labels:  startup

Hello, Startup Website

This is the website and mobile app for Hello, Startup: A Programmer's Guide to Building Products, Technologies, and Teams, an O'Reilly book by Yevgeniy Brikman.

Status

  • The Hello, Startup website is available at https://www.hello-startup.net.
  • Contributions, especially to the list of Startup Resources, are welcome via pull request (see instructions below).
  • The mobile app version is currently on pause as the market doesn't seem big enough for it.

Running the website

  1. Install grunt.js
  2. Install jekyll
  3. npm start
  4. http://localhost:4000

The grunt command runs grunt watch, which will watch for changes in the background and recompile everything as necessary. Jekyll is a bit slow, so it can take ~5 seconds for your changes to be visible.

Running with Docker

As an alternative to installing Ruby, Jekyll, and Grunt, if you're a user of Docker, you can run a Docker image of hello-startup-site that has all the dependencies already setup for you.

  1. git clone this repo
  2. docker-compose up
  3. Go to http://localhost:4000 to test

Architecture

  • jekyll: used to assemble static HTML from the HTML fragments in _layouts, _includes, _resources, and _data.
  • grunt.js: used to concatenate and minify CSS and JavaScript.
  • PhoneGap: used to package up the static HTML as iOS and Android apps.
  • GitHub Pages: for hosting the website.
  • CloudFlare: free SSL and CDN.
  • Bootstrap: for CSS, layout, general theme.
  • Font Awesome: for icons.

The Startup Resources

The Startup Resources are generated from YAML data files in the _data folder (see the Jekyll Data Files documentation for more info). These resources are a work in progress and I welcome contributions via pull request.

Each YAML file contains the information for one type of resource. For example, deployment.yml contains all the resources related to deploying code.

The basic format is:

name: "Name for this resource"
description: "Brief description of this resource."
icon: "The name of one of the Font Awesome icons to represent this resource."
type: "one of: products, technologies, or teams"
categories:
  - id: "a-unique-id-for-this-category"
    name: "Human readable name for the category"
    sites: # List of websites for this category
      - name: "Website #1"
        url: "https://www.website-number-one.com/"
        image: "screenshot1.jpg" # 800x400 screenshot under images/resources
        description: "A brief description of website #1"
      - name: "Website #2"
        url: "https://www.website-number-two.com/"
        image: "screenshot2.jpg" # 800x400 screenshot under images/resources
        description: "A brief description of website #2"

See the _data folder for lots of examples.

Running the mobile app

Note: mobile app development has been put on pause and may not work any more

  1. Install PhoneGap
  2. Install the PhoneGap Developer App on your computer and the mobile app for your phone.
  3. Run grunt as explained in the "Running the website" instructions. This will assemble all of the HTML.
  4. Add a new project to the PhoneGap Developer App by adding the mobile folder (which has config.xml).
  5. At the bottom of the PhoneGap Developer App, it should tell you that the project is running and the URL. Connect to this URL in the PhoneGap mobile app on your phone.
  6. If you want to build the app for real, use PhoneGap Build.

Making PhoneGap and Jekyll work together

Both PhoneGap and Jekyll require a specific folder structure, and those are not mutually compatible. To make this all work using the same content in the same repo, I've used a bit of a hack with symlinks:

  1. PhoneGap's config.xml and index.html are in the mobile folder.
  2. Everything else is in the normal Jekyll locations (e.g. _includes, _layouts, javascripts, stylesheets). All of these files get compiled into the normal Jekyll output folder (_site).
  3. I've added symlinks from the mobile/www folder to _site. Therefore, if you point PhoneGap at the mobile folder, it will see the folder structure it expects.
  4. Since _site is normally generated by the Jekyll build process, you don't usually check it in. However, I had to in this case, or the symlinks won't work, which causes an error when GitHub Pages tries to build the site. Therefore, I've checked in a few placeholder files that ensure the folders we symlink to exist.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].