Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Use Kotlin for ReVanced API #169

Merged
merged 81 commits into from
Jul 8, 2024
Merged

chore: Use Kotlin for ReVanced API #169

merged 81 commits into from
Jul 8, 2024

Conversation

oSumAtrIX
Copy link
Member

@oSumAtrIX oSumAtrIX commented Feb 1, 2024

About

This PR rewrites this project into Kotlin. Ktor is used for the API.

Todo before merge

  • Add issue templates
  • Setup repository tags correctly (proper naming for example)

Review

  • All the routes work, and none are missing
    • Caching is done correctly
    • Headers are set correctly
    • Auth works correctly
    • Cors works correctly
  • Persistence layer is correctly implemented
  • Rate limits are not an issue
  • Dockerfile and Docker Compose are setup correctly
  • CI/CD works properly
    • Version is bumped correctly
    • Pre-releases are built and published correctly, also to the Docker registry
    • Release assets are uploaded, and the changelog is generated correctly
    • Release workflow should probably not run outside of dev or main

@indrastorms
Copy link

What is the motivation to rewrite it in kotlin?

@oSumAtrIX
Copy link
Member Author

oSumAtrIX commented Feb 1, 2024

Personally, it makes it easier for me to maintain and reduces the amount of languages as we already use Kotlin. With our current maintainer being short on time, especially in the future, the Kotlin version will be easier to look into for me or other Kotlin devs we have

Copy link
Contributor

@alexandreteles alexandreteles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good to me. I have some suggestions related to the infrastructure side of things that are put in their respective files.

.devcontainer/Dockerfile Outdated Show resolved Hide resolved
.github/workflows/codeql.yml Outdated Show resolved Hide resolved
Dockerfile Outdated Show resolved Hide resolved
.github/workflows/release.yml Outdated Show resolved Hide resolved
.github/dependabot.yml Outdated Show resolved Hide resolved
LICENSE Outdated Show resolved Hide resolved
configuration.toml Outdated Show resolved Hide resolved
docker-compose.yml Outdated Show resolved Hide resolved
@oSumAtrIX oSumAtrIX marked this pull request as ready for review June 5, 2024 15:23
@oSumAtrIX
Copy link
Member Author

oSumAtrIX commented Jun 5, 2024

@alexandreteles I don't know the exact conditions for caching, headers and cors so it would be good if you can check if those are setup correctly.

@oSumAtrIX oSumAtrIX changed the base branch from main to dev July 8, 2024 11:43
@oSumAtrIX oSumAtrIX merged commit 033a18f into dev Jul 8, 2024
2 of 3 checks passed
@oSumAtrIX oSumAtrIX deleted the kotlin branch July 8, 2024 12:07
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 9, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
oSumAtrIX added a commit that referenced this pull request Jul 10, 2024
This commit converts the entire project to a KTor project written in Kotlin.
Various APIs have been updated, removed, or changed.
A proxy is present to allow migration between the old and this API, which can serve requests to endpoints from the old API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants