Movies API 

FEATURES

  • JWT Authentication

    This authentication is performed by verifying the tokens generated during user login.

  • User role

    ANONYMOUS or unauthenticated users do not have access to the service endpoints, but regular users and ADMIN do have access to the service endpoints.

  • Password encryption

    Passwords will have a hashed version to ensure greater security of the user's account data.

  • API response

    The API has endpoints for creating a record, listing all records, listing a record by ID, and updating a record by ID for users, movies, movie rentals, movie copies, and clients.

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.

  • Dotenv (Source)

    Version: 16.0.3

    Dotenv is a package available on npm (Node Package Manager) for Node.js applications that loads environment variables from a .env file into the process.env object. It is commonly used to separate configuration data from code and to keep sensitive information like API keys, passwords, and other credentials out of version control systems.