Skip to content

Comprehensive Feature Request: Build Complete Backend for ShareDrop Platform #452

@Jmacone

Description

@Jmacone

Implement a fully functional backend for the ShareDrop platform, including authentication, trip management, job board, and social features. The backend should be production-ready and optimized for 100% performance as per the provided project plan.

Key Requirements

  • Project Setup: Initialize Node.js project with required dependencies and scripts.
  • Environment Configuration: Use dotenv for configuration management and PostgreSQL as the database.
  • Database Schema: Implement Prisma schema supporting users (rider, driver, admin roles), trips, job postings/applications, posts, comments, and likes.
  • Authentication & Authorization: JWT-based authentication with role-based access control.
  • Trip Management: Endpoints for requesting, accepting, updating, and retrieving trip details and history.
  • Job Board: Admin can post jobs; drivers can apply; admin can review applications.
  • Social Feed: Users can post, comment, like, and upload images.
  • Utilities: Fare calculation based on distance; Haversine formula for trip distance.
  • Middleware: Authentication and role-checking middleware.
  • Socket.IO Integration: Real-time trip and driver location updates.
  • File Uploads: Image upload handling for posts.

Acceptance Criteria

  • All described endpoints and features implemented as per the plan above.
  • Code is modular, maintainable, and uses best practices.
  • Full test coverage and error handling.
  • Documentation for setup and usage is included.

Additional Suggestions

  • Add logging and monitoring for production.
  • Implement input validation and security best practices.
  • Optimize queries and indexes for performance.

Please refer to the detailed code and step-by-step plan for specifics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions