A comprehensive research, bidding, and matching system that pairs Foreign Service employees to available positions. Key features include:
- Searching and Filtering Positions
- Saving Searches
- Favoriting Positions
- Comparing Positions
- Submitting & Updating Bids (Job Applications)
- Monitoring Bid Status
- Candidate Ranking
- Ability to Progress Candidate Bid (Accept or Reject)
- Ability to Manage Positions for Bidding (Create, Edit, Delete)
The system can be divided into 3 parts:
- Frontend UI (this repository)
- Backend API
- Existing Federal Services
The frontend is responsible for providing a clean user experience leveraging React and Redux, while the data is supplied by the Django MVT framework. The system is meant to operate independently or with existing federal data APIs, allowing the system to remain flexible with new or legacy application data. This empowers developers by allowing them to expand new features with the TalentMAP application while leveraging existing data services already provided to other federal applications.
We use yarn
as our package manager, available for download here. Where possible, we've included the corresponding commands for npm
.
Install dependencies with yarn install
or npm i
We use EditorConfig to ensure consistency across file formats and code editing environments. EditorConfig supports a variety of popular code editors listed here.
You will need the State TalentMAP API running locally in order for this application to make requests to the API.
Runs the app in development mode. Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits. You will see the build errors and lint warnings in the console.
Runs the test watcher in an interactive mode.
By default, runs tests related to files changed since the last commit.
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. By default, it also includes a service worker so that your app loads from local cache on future visits.
Your app is ready to be deployed.
See the create-react-app documentation for more details.
The front end application is Dockerized and available in a docker-compose
stack with the API. Setup and more available here.
There is a brief deployment guide here that discusses deployment up the front end application. For more thorough intructions, including the API, checkout out the wiki.
Accessibility tests can be run in a CI environment using pa11y-ci
. By default, it tests the URL array found in .pa11yci
using the WCAG 2.0 AA standard. Be sure to update the array of URLs with IDs that exist in your environment's database.
See CONTRIBUTING for additional information.
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.