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.
- mkdir projectname
- cd projectname
- create-react-app client
- mkdir server
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.
- Follow the prompts to create an account on aws.
- Once you are in the console, select 'Services' from the drop down menu.
- Select 'Elastic Beanstalk'
- Select 'Get Started'
- Choose 'Node.js' from the platform dropdown
- 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.)
- Click 'Configure more options'
- Click 'Environment Settings'
- Create a name for your application.
- Click 'Create app'
- Create an account
- Click the plus button in the top left
- Toggle the correct repo
- Add a .travis.yml file to your project
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.
- install 'linter'
- install 'linter-eslint'
If you are unable to do this, run eslint in the command line.
eslint
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'
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
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