No description
Find a file
2025-04-17 20:24:05 +00:00
.devcontainer upgrade go 1.24.2 2025-04-08 18:50:30 +02: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 upgrade go 1.24.2 2025-04-08 18:50:30 +02:00
cmd starting accounts 2025-03-11 21:42:36 +00:00
internal Add account registration feature: introduce AccountRegister type, implement Register method in AccountService, and add corresponding tests. Also, create variable management API with CRUD operations and database migration for variables table. 2025-04-17 20:24:05 +00:00
migrations Add account registration feature: introduce AccountRegister type, implement Register method in AccountService, and add corresponding tests. Also, create variable management API with CRUD operations and database migration for variables table. 2025-04-17 20:24:05 +00:00
scripts Add account registration feature: introduce AccountRegister type, implement Register method in AccountService, and add corresponding tests. Also, create variable management API with CRUD operations and database migration for variables table. 2025-04-17 20:24:05 +00:00
test Add account registration feature: introduce AccountRegister type, implement Register method in AccountService, and add corresponding tests. Also, create variable management API with CRUD operations and database migration for variables table. 2025-04-17 20:24:05 +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 upgrade go 1.24.2 2025-04-08 18:50:30 +02:00
go.sum upgrade go 1.24.2 2025-04-08 18:50:30 +02: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.