tss-rocks/backend
2025-02-21 04:30:07 +08:00
..
cmd [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
config [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
ent [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
internal [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
pkg [feature] migrate to monorepo 2025-02-21 00:49:20 +08:00
scripts [feature] migrate to monorepo 2025-02-21 00:49:20 +08:00
.gitignore [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
docker-compose.yml [feature] migrate to monorepo 2025-02-21 00:49:20 +08:00
Dockerfile [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
go.mod [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
go.sum [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
LICENSE.md [feature] migrate to monorepo 2025-02-21 00:49:20 +08:00
main.go [feature/backend] implement /users handler + switch to username + add display name + user management cli 2025-02-21 04:30:07 +08:00
README.md [feature] migrate to monorepo 2025-02-21 00:49:20 +08:00

Tss.Rocks Backend

Note

This project is still in early development, contents and functionality is incomplete.

Moderninzing the experience of TSS website.

Getting Started

Prerequisites

  • Go 1.23 or higher
  • SQLite 3

Installation

  1. Clone the repository

  2. Install dependencies:

go mod download
  1. Copy the example config file and modify it:
cp config/config.example.yaml config/config.yaml
  1. Update the configuration in config/config.yaml with your settings.

Running the Server

go run cmd/server/main.go

The server will start on http://localhost:8080 by default.

API Documentation

Authentication

All protected endpoints require a JWT token in the Authorization header:

Authorization: Bearer <token>

Endpoints

Checkout api/schemas for the OpenAPI specification.

To bundle the OpenAPI files into a single YAML file, run:

./scripts/bundle-openapi.sh # For Bash
./scripts/bundle-openapi.ps1 # For PowerShell

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 AGPL v3.0 - see the LICENSE file for details.