Skip to content

Email verification with Express.js, Prisma, React, and Tailwind.

License

Notifications You must be signed in to change notification settings

johnhaab/email-verify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About Email Verify

Email-Verify Screen Shot

Email-Verify is a full-stack application that facilitates email verification using Gmail SMTP for sending emails. It is built with Express.js and Prisma on the backend, utilizing a PostgreSQL database. On the frontend, React and Tailwind is used to create a user-friendly interface for entering and checking verification codes.

Heres what its built with:

Front-end:

  • React
  • Tailwind

Back-end:

  • Node
  • Express
  • Prisma

(back to top)

Getting Started

Lets get to the instructions on setting up both the client and server locally. To get a local copy of both up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g
  • clone the project
    git clone https://github.com/johnhaab/email-verify.git

Client setup

  1. Open the client folder
    cd client
  2. Install NPM packages
    npm install
  3. Start the client
    npm run dev

Server setup

  1. Open the server folder
    cd server
  2. Install NPM packages
    npm install
  3. Create a .env file
    • Windows
    echo .env
    • Linux/MacOS
    touch .env
  4. Paste the following info into the .env
    DATABASE_URL=" YOUR POSTGRES URL "
    
    SMTP_GMAIL=" THE GMAIL EMAIL YOU ARE USING "
    SMTP_GMAIL_PASS=" CREATE A GMAIL APP SPICIFIC PASSWORD FOR THIS "
  5. To get Prisma ready run these commands
    npx prisma migrate init && npx prisma generate
  6. To get Prisma ready run these commands
    npx prisma migrate init && npx prisma generate
  7. Start the server
    npm run start
    • There might be issues if your hosting your server on a different ip than the client. - Not confirmed.

(back to top)

Roadmap

  • Create a better security system for anti-spam etc
  • Add additional Email Templates
  • Create the resend function
  • Multi-language support
    • Chinese
    • Spanish

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

John Haab - @johnlhaab - contactjohnhaab@gmail.com

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

(back to top)