MovieDB API ๐ฌ โ
Repository: 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 ๐.