Skip to content

Backend API Project Overview #1

@pmutua

Description

@pmutua
Collaborator

Prerequisites

  1. Python
  2. Fast API
  3. Git - Version Control
  4. Neon DB - Serverless Postgres
  5. Locust - Load Testing

User Stories

1. User Registration and Login

As a new user, I want to:

  • Register by providing my name, email, and password.
  • Log in securely using my registered email and password.

Acceptance Criteria:

  • The API should allow the creation of a new user account.
  • The API should securely authenticate users based on their credentials.

2. Account Management

As a user, I want to:

  • View and update my account information, including contact details and billing preferences.
  • Generate and manage API keys.
  • Revoke API keys that I've previously generated.

Acceptance Criteria:

  • The API should provide endpoints for retrieving and updating user account information.
  • The API should allow the generation and management of API keys.
  • The API should allow the revocation of previously generated API keys.

Development Instructions

  1. Set Up Development Environment:

    • Create a new repository for your project.
    • Choose a meaningful name for your repository.
    • Use atomic commits and create multiple branches for each feature or fix.
  2. User Registration and Login:

    • Implement API endpoints for user registration and login.
    • Ensure secure authentication and appropriate error handling.
  3. Account Management:

    • Develop API endpoints for viewing and updating user account information.
    • Implement functionality for generating, managing, and revoking API keys.
  4. API Discovery and Documentation:

    • Create API endpoints to retrieve a catalog of available APIs.
    • Implement sorting and filtering functionality.
  5. API Usage Monitoring and Analytics:

  • Develop API endpoints for real-time and historical usage metrics.
  1. Pricing Information:
  • Implement API endpoints to retrieve pricing information for each API.
  1. Unit Testing:
  • Write unit tests using Jest to ensure the reliability of your backend code.
  1. ** Version Control:**
  • Make use of version control to manage your codebase effectively.
  1. Timeline:

    • Week 1-2: Set up the development environment and implement user registration and login.
    • Week 3-4: Develop account management features (view/update account information, API key management).
    • Week 5-6: Implement API discovery and documentation features.
    • Week 7-8: Develop API usage monitoring and analytics functionalities.
    • Week 9-10: Implement pricing information retrieval and non-functional requirements.
    • Week 11-12: Conduct thorough testing, review, and documentation.
  2. Resources

Remember to document your progress, ask for feedback, and iterate on your code as needed. Good luck!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @pmutua

        Issue actions

          Backend API Project Overview · Issue #1 · Kimuge19/api-saas