No description
Find a file
qpismont 923083cc5f
All checks were successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/tests Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
Remove magiconair/properties dependency from go.mod and go.sum
2025-03-24 21:19:25 +00:00
.devcontainer Update dependencies, improve password handling, and enhance devcontainer configuration. Bump Go version to 1.24.1, add Air version to Dockerfile, and refactor password hashing and comparison functions to return errors. Update tests accordingly. 2025-03-18 21:19:49 +00:00
.vscode begin core module 2025-02-20 12:09:38 +00:00
bruno Add account management features: implement GetAccount endpoint, update Login method to return token, enhance repository and service layers, and add JWT middleware for authentication. Update .gitignore to include tmp directory. 2025-03-24 20:43:00 +00:00
build Update CI configuration to use Go 1.24.1-alpine for build, lint, and test steps. Fix test database setup path in account tests and improve error handling in JWT verification. 2025-03-24 20:55:54 +00:00
cmd starting accounts 2025-03-11 21:42:36 +00:00
internal Update dependencies and improve account tests: add objx library, replace assert library with testify, enhance password assertions, and modify SQL fixtures for password hashing. 2025-03-24 21:18:01 +00:00
migrations begin core module 2025-02-20 12:09:38 +00:00
scripts begin core module 2025-02-20 12:09:38 +00:00
test Update dependencies and improve account tests: add objx library, replace assert library with testify, enhance password assertions, and modify SQL fixtures for password hashing. 2025-03-24 21:18:01 +00:00
.air.toml Add account management features: implement GetAccount endpoint, update Login method to return token, enhance repository and service layers, and add JWT middleware for authentication. Update .gitignore to include tmp directory. 2025-03-24 20:43:00 +00:00
.gitignore Add account management features: implement GetAccount endpoint, update Login method to return token, enhance repository and service layers, and add JWT middleware for authentication. Update .gitignore to include tmp directory. 2025-03-24 20:43:00 +00:00
go.mod Remove magiconair/properties dependency from go.mod and go.sum 2025-03-24 21:19:25 +00:00
go.sum Remove magiconair/properties dependency from go.mod and go.sum 2025-03-24 21:19:25 +00:00
LICENSE Initial commit 2025-02-18 19:18:46 +01:00
README.md add readme 2025-02-26 20:29:48 +00:00

Trepa - Self-Hosted Streaming Platform Backend

Trepa is a robust, scalable backend service written in Go for self-hosted streaming platforms. It provides the core functionality needed to manage and serve streaming content with a focus on performance, security, and ease of deployment.

Features

  • User account management with JWT authentication
  • Movie/Content metadata management
  • PostgreSQL database for persistent storage
  • Docker support for easy deployment
  • Database migrations system
  • Scalable architecture

Prerequisites

  • Go 1.24 or higher
  • PostgreSQL database
  • Docker (for containerized deployment)
  • migrate CLI tool (for database migrations)

Environment Variables

Create a .env file in the root directory with the following variables:

DB_HOST=your_database_host
DB_PORT=your_database_port
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_NAME=your_database_name
JWT_SECRET=your_jwt_secret

Installation

  1. Clone the repository:
git clone <repository-url>
cd trepa
  1. Install dependencies:
go mod download
  1. Run database migrations:
migrate -path migrations -database "postgresql://user:password@localhost:5432/dbname?sslmode=disable" up

Development

To run the project locally:

go run cmd/main.go

Docker Deployment

Build and run the Docker container:

docker build -t trepa .
docker run -p 8080:8080 --env-file .env trepa

Project Structure

.
├── cmd/                 # Application entrypoints
├── internal/           # Private application code
│   ├── accounts/      # User account management
│   └── core/          # Core business logic
├── migrations/        # Database migrations
├── scripts/          # Build and deployment scripts
└── test/            # Test files

API Documentation

[API documentation to be added]

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Security

For security concerns, please open an issue or contact the maintainers directly.

Support

For support, please open an issue in the repository.