You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1.1 Only for users with 'admin' role. (Role based Access Control)
Get all Users
Delete any user
Delete any blog
2. Blogs
Create new blogs
Retrieve all blogs
Retrieve only the blogs of current logged in User
Retrieve a specific blog by ID
Update existing blogs
Delete blogs
3. Dashboard
Fetch all blogs matching user's followed tags
Fetch all blogs with a specific tag
Security and Performance Measures Followed
Password Hashing: Uses passlib to hash passwords and securely store in the database.
Implemented Password validation constraints like minimum length, atleast one Uppercase,numbers etc.
Dependency Injection: To ensure that only authenticated users can perform the actions like creating, updating, and deleting blogs.
Pagination: Limits the number of results returned per request to prevent excessive data retrieval and potential denial-of-service attacks.
Authorization: Check whether the authenticated user is the owner of the blog being manipulated, If not returns a 401 Unauthorized error.
JWT (JSON Web Tokens) Authentication.
Role-Based Access Control: During registration, the app validates that the role provided by the user is either 'admin' or 'user' to help prevent unauthorized access.
Protection Against Username and Email Duplication.
Error Handling: The application handles errors gracefully, returning appropriate HTTP status codes and error messages.
Data Protection: Only authorized users can access or modify the user data.