A REST API wrapper around the fansly-scraper functionality, providing structured endpoints for interacting with Fansly content.
fansly-api/
├── cmd/ # Main application entry points
│ └── api/ # API server entry point
├── internal/ # Private application code
│ ├── api/ # HTTP handlers and routing
│ ├── config/ # Configuration management
│ ├── service/ # Business logic and scraper integration
│ └── storage/ # Data storage interfaces and implementations
└── pkg/ # Reusable packages
├── auth/ # Authentication utilities
├── logger/ # Logging utilities
└── utils/ # Shared utilities
- JWT-based authentication
- User registration (if needed)
- Role-based access control
- List creators (mock data)
- Get creator details
- Search creators
- Follow/unfollow creators
- List creator content
- Filter content by type (images, videos, etc.)
- Search within creator content
- Download media
- Set up monitoring for creators
- Get monitoring status
- Configure monitoring preferences
- Webhook/notification system
- Go 1.21+
- Docker (for database, if needed)
- Fansly account credentials
- Clone the repository
- Install dependencies:
go mod tidy - Copy
.env.exampleto.envand configure - Run the server:
go run cmd/api/main.go
- Run unit tests:
go test ./... - Integration tests: (TBD)
- E2E tests: (TBD)
POST /api/v1/auth/initiate- Start authenticationPOST /api/v1/auth/complete- Complete authenticationPOST /api/v1/auth/refresh- Refresh tokenPOST /api/v1/auth/logout- Invalidate token
GET /api/v1/creators- List creatorsGET /api/v1/creators/{id}- Get creator detailsGET /api/v1/creators/{id}/content- Get creator contentPOST /api/v1/creators/{id}/follow- Follow a creatorDELETE /api/v1/creators/{id}/follow- Unfollow a creator
-
Scraper Integration
- Create service layer for
fansly-scraper - Implement authentication flow
- Add error handling
- Create service layer for
-
API Endpoints
- Implement creator listing with real data
- Add content retrieval endpoints
-
Configuration
- Set up configuration management
- Add rate limiting
- Configure logging
- Monitoring system
- User management
- API documentation
- Performance optimizations
- Security enhancements
- Deployment setup
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.