By:
Gong Qi Chen (product manager)
Kai Hang Chen (scrum master)
Jie Lan (developer)
Siddharth Rajan (developer)
Alan Lau (developer)
Special thanks to:
Tendo Choi, Peter and Shirley (contributions to the overall design)
JobFirst is employment-related search website that makes a connection between employer and skilled new immigrants who can speak Chinese and tries to find a job but couldn't do so due to language and cultural barriers. The interface will be in bilingual(English & Mandarin), allowing the user easier to use. On the website, a credential converter can be provided that helps customers understand what their degree means in the new country.
- Gatsby
- Graphql
- React.js
- AWS cognito
- AWS appsync
- AWS Amplify
https://master.d1lcnidp5acn3o.amplifyapp.com/
- employer account:
- username: employer pw: employer
- employee account:
- username: employee pw: employee
https://kaihchen1230.github.io/jobFirstDoc/index.html
- clone the repo
git clone https://github.com/Kaihchen1230/csc47300Project.git
- install all the dependencies
npm install
- setup backend
amplify init
- push the backend to the cloud
ampify push
- run the app
gatsby develop
- READ FIRST
- Delete your local
- Delete your repo
- Fork from Kai
- (optional) On the github repo, delete the unnessascery branch such as:
- frontend-branch
- local-branch (I believe this is where Kai write his code)
- On the github repo, set newFrontend as the default branch
git clone [your own repo link]
git branch
you should be in newFrontend branchnpm install
install the dependencies- (optional)
amplify configure
create a IAM role for this project SAVE THE ACCESS ID AND ACCESS KEY amplify init
initialize the amplify backend
USE A DIFFERENT ENV
USE A DIFFERENT ENV
USE A DIFFERENT ENV
You can name it as younameenv ex: alanenv
USE YOUR OWN PROFILE
USE YOUR OWN PROFILE
You can find more information here about amplify command. If you have created too many profiles you can also find the file where your profiles are being recorded and then delete 'em.amplify push
so your backend will be in the cloud- Begin coding...
- In this example I will be adding an API
git pull upstream whateverbranchweuse
Get the latest update from upstream. We probably use the newFrontend branch. So all of our pull requeast will go to newFrontend.npm install
run this after every pull from the upstreamamplify init
to sync with the backend from upstream because someone else might add something to the backend already.
USE THE EXISTING ENV FROM PREV SECTION STEP 10
USE THE EXISTING ENV FROM PREV SECTION STEP 10
USE THE EXISTING ENV FROM PREV SECTION STEP 10
So it should be yournameenvamplify push
now your backend should be the same front upstream and when you rungatsby develop
it should be workingamplify add api
to add the service that you want to add. In this case, it's apiamplify push
Set it up according your needs:- define the schema
- write custom graphql
- etc...
- test it out to see if your backend is working
git push
Push it to your repo to make pull request.- Create the pull request.
npm test
or npm test -- -- watch
npm run doc
All docs are inside the docs folder
Refer here for how to write jsdoc
.
├── amplify
│ ├── #current-cloud-backend
│ │ ├── api
│ │ │ └── csc47300project
│ │ │ ├── build
│ │ │ │ ├── resolvers
│ │ │ │ └── stacks
│ │ │ └── stacks
│ │ ├── auth
│ │ │ └── cognitoed11de21
│ │ └── storage
│ │ └── csc473storage
│ └── backend
│ ├── api
│ │ └── csc47300project
│ │ ├── build
│ │ │ ├── resolvers
│ │ │ └── stacks
│ │ └── stacks
│ ├── auth
│ │ └── cognitoed11de21
│ ├── awscloudformation
│ └── storage
│ └── csc473storage
├── docs
│ ├── fonts
│ ├── scripts
│ │ └── prettify
│ └── styles
├── mocks
├── node_modules [1620 entries exceeds filelimit, not opening dir]
├── public
│ ├── businessImages
│ └── static
│ └── d [21 entries exceeds filelimit, not opening dir]
├── src
│ ├── components
│ │ ├── Home
│ │ ├── authentication
│ │ ├── business_profile
│ │ │ └── test
│ │ │ └── __snapshots__
│ │ ├── dictionary
│ │ ├── form
│ │ ├── jobList
│ │ ├── job_description
│ │ ├── talent_list
│ │ └── user_profile
│ ├── customGraphql
│ ├── graphql
│ ├── pages
│ ├── services
│ ├── style
│ └── test
│ ├── integrationTest
│ │ └── __snapshots__
│ ├── jobDescriptionUnitTest
│ ├── jobListUnitTest
│ ├── systemTest
│ └── userProfileUnitTest
└── static
└── businessImages
62 directories
- amplify is where all of our backend files located
- docs is where all the generated html documents located
- src is where mainly our code located
- static is where all the static files like images located
src
├── components
│ ├── Home
│ ├── authentication
│ ├── business_profile
│ │ └── test
│ │ └── __snapshots__
│ ├── dictionary
│ ├── form
│ ├── jobList
│ ├── job_description
│ ├── talent_list
│ └── user_profile
├── customGraphql
├── graphql
├── pages
├── services
├── style
└── test
├── integrationTest
│ └── __snapshots__
├── jobDescriptionUnitTest
├── jobListUnitTest
├── systemTest
└── userProfileUnitTest
24 directories
- components is where all the components located, categorized by the page where they belong
- customGraphql is where all the custom Graphql query located
- graphql is where all the generated query located
- pages contain all the codes for all the pages of our application
- services contain some functions for authentication and translation feaature