Job Hunting Management App built by Develop Me students for Develop Me students.
Available here: https://github.com/develop-me/bagajob/wiki/A-Code-of-Conduct-for-Open-Source-Projects
Never commit directly to the master branch. Create a new feature branch from the development branch, and make a pull request for a team-mate to review and merge.
NOTE: At least ONE (1) other Team Member must approve your Pull Request before merging (whether the merge is from feature-branch
to development
, or from development
into master
)
Our workflow process is as follows:
-
Create a new feature branch (e.g.
footer-styling
) from thedevelopment
branch -
Make your changes on your feature branch
-
Open a Pull Request to merge the feature branch into
development
describing the changes made -
Wait for another collaborator to approve your PR
-
Merge your completed feature branch into
development
-
Branch again from
development
for your next feature (e.g.header-styling
) -
Repeat
-
The
development
branch should only be merged intomaster
once a new build/release and all its features are complete and ready to deploy (see below for deployment instructions) -
The
master
branch is deployed to the server. Only merges fromdevelopment
should be committed to this branch (excepting edits to documentation)
- Clone the repository to your local machine using the URL in the Repo
git clone {url} {foldername}
- Install neccessary packages using npm
npm install
-
Find a new issue in this repository to work on
-
Create a branch on your local machine to work on that issue/feature
git checkout -b {name of branch}
-
Develop your features in your feature branch, and test on your local machine
-
Once you're happy with your branch push your branch to the remote repo on gitHub
git push origin {branch}
-
In gitHub create a pull request for your new branch to merge into the development branch, assign a reviewer and link the issue you were working on
-
Have a team member review the pull request and merge!
-
Ensure the branch is deleted once its merged
-
Run
npm start
-
Visit the local development server in your browser
This application is styled using SASS. All .scss
files (src/scss/example/_example.scss
) are imported (@import
) into src/scss/main.scss
, before being compiled to src/css/styles.min.css
.
In order to compile SASS to CSS, run the following command in the project root:
sass src/scss/main.scss src/css/styles.min.css
In order to configure SASS to compile every time changes are saved to a SASS file, run:
sass --watch src/scss/main.scss src/css/styles.min.css
Please note that changes to SASS files will not show in the app until compiled to src/css/styles.min.css
.
- To test the front end fully you'll need to set up a local instance of the API on a VM. Follow the instructions on this gitHub repo to install:
- The front end is a static site deployed to developme's servers. The site is hosted at https://bagajob.developme.space/
- Once someone has granted you access (by adding your ssh key to the server) you can access the server by running
ssh [email protected]
at your command prompt
(These could definitely be optimized)
- Merge any PRs to the master branch
- Make sure you have the latest master branch on your machine
- Run
npm run build
to build the production files in thebuild
directory - Commit any changes to master branch, alternatively you can run
npm run build
before merging in any PRs to master... ensure they are pushed to gitHub. - SSH into the server
ssh [email protected]
- move to the repo directory
cd /var/www/bagajob
- Pull the new changes from git
git pull
- NGINX (the web server) is set up to serve the production files from
/var/www/bagajob/build/
- You may need to reload the web server if you don't see your changes
sudo nginx -s reload
NOTE: Currently the development
branch is active on the host, this will be changed to to master
(run git checkout master
) upon deployment when ssh'd into the server
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify