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 branchyou should be in newFrontend branchnpm installinstall the dependencies- (optional)
amplify configurecreate a IAM role for this project SAVE THE ACCESS ID AND ACCESS KEY amplify initinitialize 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 pushso your backend will be in the cloud- Begin coding...
- In this example I will be adding an API
git pull upstream whateverbranchweuseGet the latest update from upstream. We probably use the newFrontend branch. So all of our pull requeast will go to newFrontend.npm installrun this after every pull from the upstreamamplify initto 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 pushnow your backend should be the same front upstream and when you rungatsby developit should be workingamplify add apito add the service that you want to add. In this case, it's apiamplify pushSet it up according your needs:- define the schema
- write custom graphql
- etc...
- test it out to see if your backend is working
git pushPush 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

