This is a full-fledged User Authentication app created using Express, TypeORM, Passport, Swagger, MySQL, and Node. This app will give you an overall concept of how authentication works.
Here is the list of APIs this app contains:"
This guide provides step-by-step guide on setting up and running the "mysql-express-node-auth-app" project locally on your machine. Please follow the steps outlined below.
Below is a summary of key features and instructions for running the project:
- Express.js and TypeScript for server-side development.
- TypeORM for database interactions.
- Passport for authentication strategies.
- Swagger for API documentation.
- Docker desktop
- Nodemon for automatic server restart during development.
ts-node
for runningTypeScript
files directly.- Concurrently for running multiple npm scripts concurrently.
- Database Migrations:
TypeORM is used for managing database migrations. Commands for creating, generating, applying, and rolling back migrations are provided.
Before getting started, ensure that you have the following installed on your machine:
- Node.js: Download and Install Node.js
- npm (Node Package Manager): Included with Node.js installation
- Docker Desktop
-
Clone the Repository: Open a terminal and run the following command to clone the project repository:
git clone https://github.com/dev-scripts/mysql-express-node-auth-app.git
-
Navigate to the Project Directory: Change into the project directory using the following command:
cd mysql-express-node-auth-app
chmod +x run.sh
./run.sh env
./run.sh start
once docker containers are up and running project is accessable http://localhost:8000/docs
. This is the Swagger UI which will list all the API endpoints.
./run.sh bash
Once you are inside the docker container you can run the below commands. These commands are for managing database migrations using TypeORM.
-
Run Migrations:
npm run migration:up
-
Rollback Migrations:
npm run migration:down
-
Create a Migration:
npm run migration:create
-
Generate a Migration:
npm run migration:generate
Now you should have the "mysql-express-node-auth-app" project up and running locally. If you encounter any issues, please refer to the project documentation or seek assistance from the project's maintainers.
Feel free to customize the content as needed for your specific project.