Playlist API
FEATURES
JWT Authentication
This authentication is performed by verifying the tokens generated during user login.
Private songs
To view public songs, user authentication will not be required, but for private songs it will be necessary.
Password encryption
Passwords will have a hashed version to ensure greater security of the user's account data.
API response
The API will have endpoints for user creation, user login, listing all users, creating songs, listing all songs, listing a song, creating playlists, updating playlists, and listing all playlists created by a user.
TECHNOLOGIES
TypeScript (Source)
Version: 4.9.4TypeScript is an open-source programming language and a strict syntactical superset of JavaScript, which means that it builds upon and extends the features of JavaScript by adding optional static typing, interfaces, classes, and other features that make it more suitable for large-scale software development.
Express.js (Source)
Version: 4.18.2Express.js is a popular open-source web framework for Node.js, a JavaScript runtime environment that allows developers to build server-side applications using JavaScript. Express.js provides a set of powerful features and tools for building web applications and APIs, such as middleware for handling requests and responses, routing, template engines, and more.
Prisma (Source)
Version: 4.9.0Prisma is a modern Object-Relational Mapping (ORM) tool for Node.js and TypeScript that provides a type-safe and intuitive way to work with databases. It allows developers to easily interact with databases using a declarative and strongly-typed API, without having to write raw SQL queries or deal with low-level database details.
Nodemon (Source)
Version: 2.0.20Nodemon is a popular open-source utility tool for Node.js that automatically restarts the server application whenever there is a code change detected. It provides a simple and efficient way to monitor the application file system and detect changes in real-time, allowing developers to focus on coding without the need to manually restart the server every time they make a change.
Cors (Source)
Version: 2.8.5The CORS library is a tool that enables the exchange of resources between different domains on the web, known as “cross-origin”. In other words, it allows a web application on one domain to access resources (such as data or multimedia resources) on another domain (even if they are hosted on a different server).
JSON web tokens (Source)
Version: 9.0.0JSON Web Tokens (JWT) is a widely used standard for creating secure and stateless authentication tokens in web applications. JWTs are digitally signed and contain a compact and self-contained payload that can store various pieces of information, such as user ID, expiration time, and other data related to authentication and authorization.
Bcrypt (Source)
Version: 5.1.0Bcrypt is a popular library for password hashing and verification in many programming languages, including Node.js. It provides a secure way to store and verify passwords by using a cryptographic hash function.