Email Verify

Email Verify

Email Verify

Category:

Full-Stack

Client:

N/A

Duration:

2 weeks

Category:

Full-Stack

Client:

N/A

Duration:

2 weeks

Category:

Full-Stack

Client:

N/A

Duration:

2 weeks

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.

(MY APPROACAH)

I used Express.js and Prisma on the backend to create a RESTful API for email verification. Express.js is a fast, unopinionated, and minimalist web framework for Node.js1 that simplifies server-side development. Prisma is a next-generation ORM for Node.js and TypeScript2 that provides a type-safe database client and hassle-free migrations. I used PostgreSQL as my relational database, which is a powerful, open source, and cross-platform system, I used React and Tailwind on the frontend to create a user-friendly interface for entering and checking verification codes. React is a free and open-source library for building user interfaces based on components4. Tailwind is a utility-first CSS framework for rapidly building custom designs5 without ever leaving the HTML.

(VISION & INNOVATION)

My vision was to create a full-stack application that facilitates email verification using Gmail SMTP for sending emails. I wanted to demonstrate my skills and knowledge of full-stack web development using modern technologies and frameworks. My innovation was to use Prisma as my ORM, which is a newer and more advanced alternative to traditional ORMs like Sequelize or Mongoose. Prisma offers a more intuitive data model, a type-safe database client, and a hassle-free migration system. I also used Tailwind as my CSS framework, which is a utility-first approach that gives me more flexibility and control over the design.

(CHALLENGES)

One of the challenges I faced was to set up and configure Gmail SMTP for sending emails. I had to learn how to use Nodemailer, a library that simplifies email sending from Node.js. I also had to enable less secure apps and display an unlock captcha on my Gmail account to allow SMTP access. Another challenge was to implement a verification code system that generates, sends, and validates unique codes for each email address. I had to learn how to use crypto, a built-in module that provides cryptographic functionality in Node.js. I also had to design a database schema that stores the email, code, and expiration date.

(PROBLEMS)

One of the problems I encountered was to handle errors and exceptions in the backend and frontend. I had to use try-catch blocks, async-await syntax, and custom error classes to handle different scenarios, such as invalid email, expired code, or network failure. I also had to provide appropriate feedback and error messages to the user on the frontend.

(USER-CENTRIC DESIGN)

N/A, Was a study project.

(USER NEEDS)

The user needs that I identified and addressed in my application are:


  1. The need to verify their email address using a verification code sent by Gmail SMTP.

  2. The need to enter and check their verification code on a user-friendly interface.

  3. The need to receive feedback and error messages on the status of their verification process.

  4. The need to have a responsive and compatible frontend that works on different devices and browsers.

(LET'S CONNECT)

© 2023 by

made in

JOHN HAAB

(LET'S CONNECT)

© 2023 by

made in

JOHN HAAB

(LET'S CONNECT)

© 2023 by

made in

JOHN HAAB