This application provides improved and expanded functionality for the curators of the MN Marketing Careers job list sharing service and increased accessibility to the the subscribers to that list, and employers looking to include new job openings. It aims to gather all current methods in use by the client in one place. With that in mind, it was designed to continue to utilize MailChimp functionality for the client to incorporate existing practices and subscriber contact data conveniently and effectively into the application. The app was then customized for more interaction between employers looking to post jobs, job-seekers, and the job list curators. The job list now lives on a page where job seekers can see all previous postings up to 30 days after initiation, and can sort and filter results by a few predetermined categories. The job list curator can also manage listings with more control.
The star of the app may be the MailChimp API integration. Admin curators AND visitors to the site are able to submit job postings to this app which are stored in a backend database (pending administrator approval). Whenever the admin desires, they can automatically populate all of these submissions - in the same format which they have previously used - input a subject line, preview in the browser and send away.
To see the fully functional site, please visit: DEPLOYED VERSION OF APP
To gain a working understanding of the data pathways, one might reference the following chart.
Additionally, an example of the site administrators form to add new job openings to the list.
A brief example of the Job submission for for an employer:
Finally, here's the main page of the application where job seekers and hiring managers first interact with the application.
And a Main page usage example 1:
Main page example 2:
Admin hub example:
Link to software that is required to install the app (e.g. node).
- MailChimp account (with API_KEY)
- Node.js
- PostrgeSQL
- Nodemon
- [Google Recaptcha] (https://www.google.com/recaptcha/about/)
- [Google Marketing Platform] (https://marketingplatform.google.com/about/)
- From this platform, you can create Google Analytics and Google Tag Manager products
- Before spinning up the project, make sure you have an active MailChimp account, to which to link the project.
- Create a .env file at the root of the project and paste this line into the file: SERVER_SESSION_SECRET=superDuperSecret While you're in your new .env file, take the time to replace superDuperSecret with some long random string like 25POUbVtx6RKVNWszd9ERB9Bb6 to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it as superDuperSecret, you will get a warning.
- You will need to generate/locate your MailChimp api key (basic instructions here mailchimp_gettingstarted). Use this to replace the text immediately after
MAILCHIMP_API_KEY=
in the lines below. - Your "server prefix" is found in the url of your MailChimp dashboard when logged in. It immediately follows the
https://
and precedes the first.
Use this to replace the text immediately afterDC=
(which stands for "data center" and likely starts withus
) in the lines below. - Find you "Audience" Id in your Audience settings on your MailChimp account. Use this to replace the text immediately after
TEST_LIST_ID=
in the lines below. - Replace sample text in each of the following 3 lines as mentioned above, and include in your
.env
file
SERVER_SESSION_SECRET=secret_site_key_here
DC=three_character_dc
MAILCHIMP_API_KEY=your_maichimp_api_key
TEST_LIST_ID=your_account_id_number
REACT_APP_RECAPTCHA_SITE_KEY=recaptcha_site_key_here
RECAPTCHA_SECRET_KEY=recaptcha_secret_key_here
REGULAR_TEMPLATE_ID=template_id_here
PLAIN_TEXT_TEMPLATE_ID=text_template_here
- Make sure
.env
is in your .gitignore!
Next:
- Create a database named
mn_marketing_careers
, - The queries in the
database.sql
file are set up to create all the necessary tables and populate the needed data to allow the application to run correctly. The project is built on Postgres, so you will need to make sure to have that installed. We recommend using Postico to run those queries as that was used to create the queries - Open up your editor of choice and run an
npm install
- Run
npm run server
in your terminal - Run
npm run client
in another terminal tab (this should open a browser tab for you)
- Go to the main page, linked from email
- See the jobs - Click around
- use the search bar to filter results
- Apply!
- Select a column header to sort by given column
- If you have a job to post, follow the link to send it to the admin
- If you are aware of an issue with a job post, follow the link to inform the admin
- You may unsubscribe at the link at the bottom - we'll have a couple questions for you
- The site also includes functionality for page administrators ('admins')
- Admins need to login at a private url to access these features
- Logged in admins will see a list of notifications
- Notifications include pending job posts added by potential empoloyers, and any issues sent from users on the main page
- Admins will also be able to view all active listings, with options to edit, delete, or deactivate job listings
- Admins may approve or deny pending job posts
- Admins may address issues and mark them complete, or delete them
- Admins may draft new job postings and save them to a queue to post live at a later time
- Admins may draft a weekly email which will feature new job listings and, on send, will post new job listings to the main webpage
- Admins may choose to post new job listings in the queue to the main webpage without sending the email
- Admins may log out when finished
- JavaScript
- React
- Redux
- Mailchimp API
- Material-UI
- Express
- Postgres
- Node.js
- HTML/css
Note, include this only if you have a license file. GitHub will generate one for you if you want!
Thanks to Prime Digital Academy who equipped and helped me to make this application a reality. And a huge thanks to Casey Tilli and Elizabeth Laukka with Minnesota Marketing Careers for allowing our dev team to create this application in your vision. You are both doing some amazing work for the job seeking community.
If you have suggestions or issues, please email us at [franck.bushbaum@yahoo.com], [cmochinski@gmail.com], [gregtambornino@gmail.com], or [dannymussie7@gmail.com]