Skip to content

Chingu-cohorts/project-awesome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Project Resources

Why?
Many people need resources to educate and guide them on planning/deployment/collaboration.

Simply put, a guide for everything about coding that isn't writing code.

What?
This will be a document with step by step guides that will help you get your project done.

Project structure.

Good template

  1. mkdir projectname
  2. cd projectname
  3. create-react-app client
  4. mkdir server

Hosting a full stack application.

The best/cheapest way to professionally host your application is going to be on amazon web services (aws).
Amazon web services can be intimidating compared to heroku, we will create a simple setup here that will make it easy using continuous deployment with travis CI.

aws

  1. Follow the prompts to create an account on aws.
  2. Once you are in the console, select 'Services' from the drop down menu.
  3. Select 'Elastic Beanstalk'
  4. Select 'Get Started'
  5. Choose 'Node.js' from the platform dropdown
  6. Choose an application name. (Aside: Applications are groups of instances, you could just name this 'project' if you want, and later name the instance the name of your app.)
  7. Click 'Configure more options'
  8. Click 'Environment Settings'
  9. Create a name for your application.
  10. Click 'Create app'

travis

  1. Create an account
  2. Click the plus button in the top left
  3. Toggle the correct repo
  4. Add a .travis.yml file to your project

Using a linter to enforce consistent style.

Use a linter. This is a tool which enforces a style around your code. It doesn't matter if 1 or 30 people are working on your project, a consistent style is a good way to stay sane. No way is 'right'.
If you are just starting, use standard JS guide. If you want to go further, make a decision about what is best to solve the problem at hand.

Here's how to get started.

npm i -g eslint
eslint --init
> choose a popular style guide
> standard
> javascript

How is it used? The best way is to have linting in your own editor.

How to use linting in atom with packages.

  1. install 'linter'
  2. install 'linter-eslint'

If you are unable to do this, run eslint in the command line.
eslint

Simple git commands.

examples

# project startup
git init
git remote add origin https://github.com/Chingu-cohorts/project-resources.git  

# new branch
git checkout -b develop
git branch

# committing
git add .
git commit -m 'hello world'
git push origin master

# oh shit
git reset HEAD~

# get fancy
git branch -u origin/master # now you only need 'git push' as opposed to 'git push origin master'

Use a .gitignore to keep your project clean.

This one is pretty useful for me and my naming conventions.

# Node files
node_modules

# Debug logs
*.log*

# Mac trash
DS_STORE

# Yarn versioning
yarn.lock

# Istanbul reports
coverage
.nyc_output

# Production build
dist

# Assets
assets

# Test cache
C:UsersUsernodejsnpm-cache
public

Use commitizen to enforce commit style.

Use semantic release to generate automatic versions and changelogs.

Writing a README

Each project should include a README.md file at the top level.
Here's a good template for what your README should look like.

### Project Resources

**Project Description:** This is a resource library with step by step guides for deployment, code style, and all the other fun stuff about making a project that isn't writing the code. You can message @mmhansen in chingu central if you are having a problem or if you'd like to contribute. Thanks!

**Slack:** #project-awesome

**Project Leads:** @mmhansen

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published