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.4

    TypeScript 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.2

    Express.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.0

    Prisma 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.20

    Nodemon 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.5

    The 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.0

    JSON 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.0

    Bcrypt 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.