Live at: https://mailsender.dev
A web app that allows people to manage email contact lists, send bulk, customised emails from their own Gmail account, track responses and send follow-up emails.
- Login/sign up flow with e-mail address
- Authorize with Gmail
- Create new email template with variables
- Upload a sales list in csv or input via form
- Review emails before they get sent
- Hit a button to send out all of the emails
- Track replies in dashboard
- Send follow-up emails
Airen Surzyn, Danny Ngo, Darren Greenfield
-
Clone the repository from gitHub:
git clone https://github.com/hatchways/team-marinara.git
-
Run
npm init
from the/server
and/client
directories to install required packages.
-
If you do not have mongoDB installed, install mongoDB Community Edition on your machine by following the instructions here
-
Create a database directory at
/server/database
. This will hold the database files and should not be committed to git as it will be a 300MB+ directory.
- If you do not have Redis installed, download it from here or run
brew install redis
on mac
-
Run
npm run dev
from the/server
directory. This will start the mongoDB server, the Redis server and the app server -
Run
npm start
from the/client
directory. This will start the React front-end app.
- Run
npm stop
from the/server
directory to stop the mongoDB and Redis servers
-
Download and install Google Cloud SDK following the instructions here including running
gcloud init
and logging in with your Google credentials -
Ensure you have the
env_variables.yaml
file in /server/config/ (this contains API keys and should not be commited to git)
- app.yaml contains gcloud deployment settings
- The MongoDB database can be accessed at cloud.mongodb.com The project is called Mail Sender.
- The project is hosted on GCP App Engine and can be managed at console.cloud.google.com. The project is called Mail Sender
- The Redis database can be accessed at app.redislabs.com
-
Run
npm build
from the /client directory to build the prodution React app -
Ensure package.json in the project root contains all server dependencies. App Engine uses the package.json file in the project root directory to install dependencies in the hosting container and starts the server with the
npm start
script in this file. -
Deploy the app by running
gcloud app deploy
from the app's parent folder. This will update the app deployed at mailsender.dev