Building Authentication with Node.js and MySQL

Chris TiquisChris Tiquis
1 min read

Today marks the beginning of my personal full-stack development project, where I aim to build a secure and functional web application from the ground up.

🔐 Authentication and Authorization

My first goal was to implement user authentication and authorization. I chose the following technologies:

  • Node.js and Express: For building the backend REST API.

  • bcrypt: To securely hash user passwords.

  • JWT (JSON Web Tokens): For managing user sessions and access tokens.

  • MySQL: As the database for user data storage.

These tools allowed me to create secure user registration and login functionalities, with hashed credentials and token-based access control.

🐳 Self-Hosted MySQL on Raspberry Pi

To keep this project cost-effective and self-contained, I avoided using cloud-based databases. Instead, I took a hands-on approach by setting up a MySQL server inside a Docker container on my Raspberry Pi. This lightweight, energy-efficient setup is ideal for development and testing environments, giving me complete control over my data.

✅ What’s Next

In the upcoming phase, I plan to add:

  • Appointment Scheduling Features: Users will be able to create, update, and manage their appointments.

  • Protected Views: Only authenticated users will have access to specific parts of the application.

This project is not only helping me deepen my backend skills but also teaching me about self-hosting and system configuration.

0
Subscribe to my newsletter

Read articles from Chris Tiquis directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Chris Tiquis
Chris Tiquis