This PR implements the backend functionality requested for the contact us form. When the contact us form is submitted an email is sent to the email addresses that have been added to the subscribers list on admin panel. ( Please check the attached images below.)
The PR mainly consists of 2 main sub projects.
A node/express/mongodb based server (contact-us/contact-us-server) -This server handles all the following logic,
[x] Sending a notification email to specified emails when the contact us form is submitted.
[x] Handling admin registration and login for the admin dashboard.
[x] Handling the receivers list for email updates. (i.e adding and removing emails from the receivers list)
A react/redux based simple admin panel - This admin panel handles the following tasks
[x] Displaying all the past contact us submissions in a single place.
[x] Displaying the set of subscribed email addresses and allowing the user to add/remove them using the UI.
Both the frontend and the backend is currently being deployed off of my origin repositories main branch(https://github.com/AuraOfDivinity/CodersEvoke_website). You will have to separately deploy it from the main branch of the coders evoke remote repository for the changes from other contributors to be reflected.
Fixes # (issue no.)
103
Type of change
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
Explain the Testing instructions
Make sure to pull all the changes before testing.
Testing the backend server locally
Open the terminal and navigate into (contact-us/contact-us-server)
Install the required dependencies using the npm install command
npm install
Create a .env file and add the following 3 environment variables to it.
Open the terminal and navigate into (contact-us/react-login)
Install the required dependencies using the npm install command
npm install
Run the project using npm start command.
npm run start
Note - By default the base url of all the endpoints are hardcoded to fetch from the backend deployed at(https://coders-evoke-contactus.herokuapp.com) To change this update the endpoints that are found under the /services folder.
Test Configuration:
Operating system: windows
Text-editors used: vscode
Checklist:
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
Admin credentials for frontend-
Email - admin@codersevoke.com
password - Admin123
Logging into the admin panel and adding new email to the receiver's list.
Creating a new contact us submission.(Note that the email is sent to the addresses we added to the current subscriptions list in the previous step. The content of the submission is also visible in the dashboard)
Description
This PR implements the backend functionality requested for the contact us form. When the contact us form is submitted an email is sent to the email addresses that have been added to the subscribers list on admin panel. ( Please check the attached images below.)
The PR mainly consists of 2 main sub projects.
A node/express/mongodb based server (contact-us/contact-us-server) -This server handles all the following logic,
A react/redux based simple admin panel - This admin panel handles the following tasks
Frontend deployed at - https://fervent-payne-44a282.netlify.app Backend deployed at - https://coders-evoke-contactus.herokuapp.com Postman collection containing the set of endpoints used - https://documenter.getpostman.com/view/7312043/TzsZrTnt
Both the frontend and the backend is currently being deployed off of my origin repositories main branch(https://github.com/AuraOfDivinity/CodersEvoke_website). You will have to separately deploy it from the main branch of the coders evoke remote repository for the changes from other contributors to be reflected.
Fixes # (issue no.)
103
Type of change
Explain the Testing instructions
Make sure to pull all the changes before testing. Testing the backend server locally
Testing the frontend locally
Note - By default the base url of all the endpoints are hardcoded to fetch from the backend deployed at(https://coders-evoke-contactus.herokuapp.com) To change this update the endpoints that are found under the /services folder.
Test Configuration:
Checklist:
ATTACH SCREEN-SHOTS / DEPLOYMENT LINK
Frontend deployed at - https://fervent-payne-44a282.netlify.app Backend deployed at - https://coders-evoke-contactus.herokuapp.com
Admin credentials for frontend- Email - admin@codersevoke.com password - Admin123
Logging into the admin panel and adding new email to the receiver's list.
Creating a new contact us submission.(Note that the email is sent to the addresses we added to the current subscriptions list in the previous step. The content of the submission is also visible in the dashboard)