Skip to content

MovieDB API ๐ŸŽฌ โ€‹

GitHub last commit

Repository: GitHub GitHub

Stack: Golang PostgreSQL Chi Router

Description โ€‹

The MovieDB API is a Go-based web service that provides various endpoints for managing movie data ๐Ÿ“ฝ๏ธ. It interacts with a PostgreSQL database ๐Ÿ—ƒ๏ธ, implements rate limiting โฑ๏ธ, handles Cross-Origin Resource Sharing (CORS) ๐ŸŒ, and includes endpoints for managing movies ๐ŸŽž๏ธ, users ๐Ÿ‘ฅ, and authentication tokens ๐Ÿ”‘. The API also includes features for user account activation via email ๐Ÿ“ง and permission-based access control ๐Ÿ”’.

Features โ€‹

  • Authentication and Authorization ๐Ÿ”: The API supports user registration and authentication. Certain endpoints are protected and require valid authentication tokens. Users can be assigned different permission levels for different operations.

  • Database Connectivity ๐Ÿ—‚๏ธ: The API interacts with a PostgreSQL database to store and retrieve movie records. It uses the database/sql package and supports database connection pooling.

  • Rate Limiting ๐Ÿšฆ: To prevent abuse and ensure fair usage, the API employs rate limiting. Requests from clients are limited based on a configurable rate and burst.

  • CORS (Cross-Origin Resource Sharing) ๐Ÿ”„: Cross-Origin Resource Sharing is enabled to allow controlled access to the API from different origins. Trusted CORS origins can be configured.

  • Email Notifications ๐Ÿ“ฌ: The API sends email notifications for account activation. Users receive an activation link via email to activate their accounts.

  • Permission Management ๐Ÿ”: Users have specific permission levels (e.g., movies:read, movies:write) for different operations. Endpoints are protected based on these permissions.

License โ€‹

This project is licensed under the MIT License ๐Ÿ“œ.