Git Product home page Git Product logo

graceshopper's Introduction

Stories in Ready CodeShip Status

========== DRYGOODS ==========

Link to Heroku deployed website: https://drygoods.herokuapp.com/

========== BONES ==========

Hi, I'm bones

I'm a happy little skeleton. You can clone me to use as a starter on your projects! I have React, Redux, Sequelize, and Express all just rattling around in here ready to go.

I need node >= 6.7.0

If you don't have it, I'll complain and tell you how to install it.

1. Make me into something!

We recommend that you clone, not fork, this repo – unless your intention is to develop Bones proper instead of using Bones as the starting point for your own application.

Start by doing either of the following:

  • Create a GitHub repo and clone it, or
  • git init in an empty directory on your machine.

After you have a repo on your machine:

git remote add bones https://github.com/glebec/bones.git
git fetch bones
git merge bones/master

And then you'll have me! If I change – which I probably will – you can get the most recent version by doing this again:

git fetch bones
git merge bones/master

2. I need a name.

I don't have a name. I think I used to have one, but it turned to dust right along with my heart and liver and pituitary gland and all that stuff.

Anyway, I'll need one. Give me a name in package.json.

3. Start my dusty heart

Short and sweet:

npm install
npm run dev

The dev script sets NODE_ENV to "development", runs the build script in watch mode, and starts the server with nodemon. Build vs server logs are separated by a prefix. If you prefer to run the server and build processes separately, you can instead do:

npm run start-dev
npm run build-dev

In two separate terminals. The vanilla npm start is for production — you won't use it in development!

My anatomy

/app has the React/Redux setup. main.jsx is the entry point.

/db has the Sequelize models and database setup. It'll create the database for you if it doesn't exist, assuming you're using postgres.

/server has the Express server and routes. start.js is the entry point.

/bin has scripts. (Right now it has one script that creates a useful symlink.)

Conventions

I use require and module.exports in .js files.

I use import and export in .jsx files, unless require makes for cleaner code.

I use two spaces, no semi-colons, and trailing commas where possible. I'll have a linter someday soon.

Quick Heroku deployment

  1. Set up the Heroku command line tools and install Yarn if you haven't already (npm install -g yarn)
  2. heroku login
  3. Add a git remote for heroku:
  • If you're creating a new app...

    1. heroku create or heroku create your-app-name if you have a name in mind.
    2. heroku addons:create heroku-postgresql:hobby-dev to add postgres
    3. npm run deploy-heroku. This will create a new branch and compile and commit your frontend JS to it, then push that branch to Heroku.
    4. heroku run npm run seed to seed the database
  • If you already have a Heroku app...

    1. heroku git:remote your-app-name You'll need to be a collaborator on the app.

Afterwards,

  • To deploy: npm run deploy-heroku
  • To re-seed: heroku run npm run seed

graceshopper's People

Contributors

dahlki avatar dnllowe avatar ekatzenstein avatar glebec avatar ianhalbwachs avatar intersim avatar kochis avatar nadrane avatar otooleterrence avatar queerviolet avatar sokmeann avatar tmkelly28 avatar waffle-iron avatar zekenie avatar

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.