Skip to content

📫 This is an email scheduler that registers new users (with their email adress) and sends random scheduled messages to their mail box.

Notifications You must be signed in to change notification settings

zecollokaris/Email-Scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cryptobyte logo

COPE MAILER 📫

DESIGN

Cryptobyte logo

DESCRIPTION

This is an email scheduler that registers new users (with their email adress) and sends random scheduled messages to their mail box.

FEATURES

This Application allows users to:

  • User can Register via valid email adress.

  • User can receive randomized messages in their inbox.

  • User only receives 10 messages never the same message twice.

  • Messages are received only at the end of every minute never the same message twice.

PRE-REQUISITES.

A Couple Of Things To Get You Started

1. Ensure you have Node.js and Node Package Manager installed.

  • Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on a JavaScript Engine and executes JavaScript code outside a web browser, which was designed to build scalable network applications.

  • Node Package Manager is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently. Most commonly, it is used to publish, discover, install, and develop node programs.

2. This project was bootstrapped with React.

  • React is a free and open-source front-end JavaScript library for building user interfaces based on UI components.

  • To learn React, check out the React documentation.

TECHNOLOGIES USED:

1. Adobe Photoshop

  • Photoshop is a photo editing software.

  • Photoshop was really useful in creating and enhancing photos.

  • The Logo was designed by photoshop just as many images had to be redesigned to fit in to the application user expirience.

2. Javascript

  • Source langage, set exact rules and specifications for the product.

3. Axios

  • Handles REST API calls to backend and returns JSON response to frontend.

4. Node Mailer

  • Node.js module that allows us to send emails.

5. Express

  • Created a Node.js web server to handle HTTP requests.

6. Body Parser

  • Used to process request payload to JSON.

7. Joi

  • Used to validate payload schema

8. Cors

  • Enabled cross site scripting.

HOW TO SETUP & INSTALL

  1. You will need Internet connection.

  2. You need to get into the Email-Scheduler Repository.

  3. From there you can access Cope Mailer.

  4. Clone the project.

  5. Navigate to current working directory into project folder (cd into project).

A Couple Of Things To Get You Started

The repository is divided into two major directories that need proper notice.

  1. Backend (Node.js API)
  2. Frontend (React.js Application)

Each of the servers is run independently after ensuring you have noted the technologies used.

RUN SETUP

Simply follow the instructions to run application

1.1 Navigate To Backend Directory

cd Backend

1.2 Install all modules that are listed on package.json file and their dependencies

npm install

1.3 Run the app in the development mode.

npm run start

🎉 DONE! The Application (Backend) Serves On PORT 8080 🎉

2.1 Navigate To Frontend Directory

cd Frontend

2.2 Install all modules that are listed on package.json file and their dependencies

npm install

2.3 Run the app in the development mode.

npm start

2.4 Browser View

The page will reload when you make changes, You may also see any lint errors in the console.

🎉 DONE! The Application (Frontend) Serves On https://localhost:3000 in your browser 🎉

2.5 Fill Input Form With Valid Details & Submit To Receive Email

Cryptobyte logo

2.6 Email OutPut Example (Sample)

Cryptobyte logo

About

📫 This is an email scheduler that registers new users (with their email adress) and sends random scheduled messages to their mail box.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published