dynamooseauth v1.0.1
dynamooseauth
The dynamooseauth
module provides easy-to-integrate user authentication for Node.js applications using DynamoDB with Dynamoose and Express. It supports basic operations like user registration and login with password hashing provided by bcryptjs.
Features
- User Registration: Secure registration process with hashed passwords.
- User Login: Authentication with password verification.
- Easy Integration: Designed to be integrated with minimal setup.
Installation
Install dynamooseauth
using npm:
npm install dynamooseauth
Or using yarn:
yarn add dynamooseauth
Usage
Below is an example of how to integrate the dynamooseauth
module into an Express application.
Setup
First, ensure that your project has Express installed. Then, you can include the authentication routes provided by dynamooseauth
:
const express = require('express');
const authRoutes = require('dynamooseauth');
const app = express();
app.use(express.json());
app.use('/api/users', authRoutes);
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
API Endpoints
dynamooseauth
provides the following endpoints:
- POST /api/users/register: Register a new user.
- Body:
{ "name": "username", "password": "password123" }
- Body:
- POST /api/users/login: Authenticate a user and log in.
- Body:
{ "name": "username", "password": "password123" }
- Body:
Configuration
Make sure to configure DynamoDB appropriately, especially when deploying to production. For local development, the dynamoose
setup assumes DynamoDB is running at http://localhost:7000
.
Contributions
Contributions are welcome! Please fork the repository and submit pull requests with any enhancements. Ensure you follow the existing code style and add unit tests for any new or changed functionality.
License
dynamooseauth
is ISC licensed.
### Additional Notes
- **Code Snippets**: Code examples are key for users to understand how to use the module. Ensure that any provided code snippets are tested and working.
- **Configuration Details**: Include additional configuration details specific to your module, especially around environment settings and dependencies.
- **Contributing Guidelines**: If your project is open to contributions, detail the process for contributing, including coding standards, testing protocols, and how to submit pull requests.
- **Contact Information**: Optionally, provide a way for users to reach out with more questions or support needs, such as an email address or a link to GitHub issues.
This template should give your users all the information they need to get started using your module effectively and contribute to its development.