Skip to content

Feat: Add User Authentication and Authorization System (Signup/Login) #119

@harshitaphadtare

Description

@harshitaphadtare

Is your feature request related to a problem? Please describe.

Currently, the Perspective application lacks user authentication and authorization mechanisms. This means:

  • Users cannot create accounts or maintain personalized sessions
  • There's no way to track individual usage or enforce rate limiting per user
  • Saved analyses, chat history, and preferences cannot be persisted across sessions
  • The application cannot scale to a production-ready system with proper access control
  • No protection exists for API endpoints against abuse or unauthorized access

Describe the solution you'd like

Implement a comprehensive authentication and authorization system with the following features:

Backend (FastAPI):

  • User registration endpoint with email verification
  • Secure login/logout functionality using JWT tokens
  • Password hashing with bcrypt or argon2
  • Token refresh mechanism for extended sessions
  • Protected API routes with authentication middleware
  • Rate limiting per authenticated user
  • User profile management (view/update profile)

Frontend (Next.js):

  • Clean signup/login forms with validation
  • Secure token storage (httpOnly cookies or secure localStorage)
  • Authentication state management (Context API or Zustand)
  • Protected routes that redirect unauthenticated users
  • User profile dashboard
  • Session persistence and auto-refresh
  • Logout functionality with token cleanup

Database:

  • User table with fields: id, email, username, hashed_password, created_at, is_verified
  • Integration with MongoDB database for user-specific data

Potential Impact

Who will benefit:

  • End users - Personalized experience, saved history, secure access
  • Project maintainers - Better abuse prevention, usage analytics, scalable infrastructure
  • Contributors - Foundation for advanced features (sharing, collaboration, premium tiers)
  • Community - Production-ready system that can be deployed publicly

Expected impact:

  • Security: Prevents API abuse and unauthorized access
  • Scalability: Enables per-user rate limiting and resource management
  • User Experience: Persistent sessions, saved preferences, analysis history
  • Monetization potential: Foundation for freemium/premium features
  • Data privacy: User-specific data isolation and GDPR compliance readiness
  • Analytics: Track user engagement, popular features, and system usage

@ParagGhatage i have been working on the code for this issue. once this is approved by you i shall raise the pr.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions