Git Product home page Git Product logo

codexia-bot's Introduction

codexia-bot

CircleCI PDD status codecov dependabot License

Maintainability Rating Maintainability Codacy Badge CodeFactor codebeat badge BCH compliance

Hits-of-Code Scc Total Lines Scc Code Lines

Codexia-bot a supervised bot for Codexia (open source incubator).

Bots list

not-found

The repo is absent on GitHub

too-small

The repo is too small (LoC is 123)

  • report when the size of the repo is smaller than the threshold
  • report text The repo is too small (LoC is 123)
  • set meta marker once reported
  • attach a badge bad once reported
  • don't report anymore, while the meta marker is present
  • report, remove the marker and badge if the size of the repo is above the threshold
  • report text The repo is not small anymore (LoC is 456)
  • the threshold is 5K LoC

too-many-stars

The repo is already too popular (5K star)

seen-on-hn

The repo was seen on Hacker News (link)

seen-on-reddit

The repo was seen on Reddit (link)

forks-up

The repo was forked 40 times in 7 days

stars-up

The repo gained 120 stars in 7 days

  • 5% increase/decrease in both metrics (forks/stars).
  • If the difference is smaller than 10 stars, the bot stays quiet.
  • From 0 to 200 stars bot will be sending 1 review per 10 stars increase.
  • From 200 to 220 stars bot will be sending 1 review per 11 stars increase.
  • From 220 to 240 stars bot will be sending 1 review per 12 stars increase.
  • And so on.

How to contribute

See CONTRIBUTING.md for more details.

Got questions?

If you have questions or general suggestions, don't hesitate to submit a new Github issue.

codexia-bot's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar iakunin avatar yegor256 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

codexia-bot's Issues

GithubIntegrationTest.java:11: Implement...

The puzzle 10-e69f73e3 from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

ProjectsHealthCheck.java:26: extract these `Running` and...

The puzzle 0-7ae6cd57 from #0 has to be resolved:

// @todo #0 extract these `Running` and `Exiting` logs to some scheduled decorator

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

FoundOnReddit.java:97: get rid of FoundOnReddit.TmpDto...

The puzzle 6-57333c2d from #6 has to be resolved:

// @todo #6 get rid of FoundOnReddit.TmpDto using `org.javatuples.Pair`

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

CodexiaModule.java:14-15: sending meta should also be...

The puzzle 19-ec246873 from #19 has to be resolved:

// @todo #19 sending meta should also be asynchronous (via cron)
// here should be only a saving Meta (as saving Review)

โš ๏ธ Maybe it would be helpful to audit these codexia_meta entities.

The puzzle was created by Maksim Iakunin on 17-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

CodexiaModule.java:11-16: split...

The puzzle 6-02060b89 from #6 has to be resolved:

// @todo #6 split codexiaModule.sendReview() to codexiaModule.createReview() and codexiaModule.sendReview()
// - codexiaModule.createReview() - just a saving to DB.
// - codexiaModule.sendReview() - real sending review to Codexia api.
// - codexiaModule.sendReview() must be used ONLY inside a cron-job.
// - In other code there should be only a codexiaModule.createReview() calls.
// - All the codexiaModule.createReview() calls MUST be inside a transaction/

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Add PDD bot

  • Change the format of all existing TODOs
  • Add pdd-format check to CI

PSQLException: ERROR: duplicate key value violates unique constraint "uq__hackernews_item__external_id"

Sentry Issue: CODEXIA-BOT-E

DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [uq__hackernews_item__external_id]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
    at dev.iakunin.codexiabot.hackernews.service.Database.write(Database.java:23)
    at dev.iakunin.codexiabot.hackernews.service.Composite.lambda$write$0(Composite.java:21)
    at dev.iakunin.codexiabot.hackernews.service.Composite.write(Composite.java:21)
    at dev.iakunin.codexiabot.hackernews.cron.IncrementedParser.run(IncrementedParser.java:38)
...
(28 additional frame(s) were not displayed)

ConstraintViolationException: could not execute statement
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:109)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200)
...
(70 additional frame(s) were not displayed)

PSQLException: ERROR: duplicate key value violates unique constraint "uq__hackernews_item__external_id"
  Detail: Key (external_id)=(22812684) already exists.
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2497)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2233)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:310)
    at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)
    at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)
...
(75 additional frame(s) were not displayed)

Exception occurred during getting hackernews item '22812684'

This exception can be prevented by:

  1. Using DB locks on cron-commands.
  2. Using lock by hackernews.external_id on Database Writes.

ShedLocks

CodexiaClient.java:75: replace `Date` with `ZonedDateTime`

The puzzle 6-5af20361 from #6 has to be resolved:

// @todo #6 replace `Date` with `ZonedDateTime`

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

SendReviews.java:88: rewrite via custom Feign exceptions

The puzzle 19-799ed7e1 from #19 has to be resolved:

// @todo #19 rewrite via custom Feign exceptions

The puzzle was created by Maksim Iakunin on 17-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Set up the policies of the code-style

  • PMD
  • Checkstyle
  • FindBugs
  • Check how the code-style violations look like in pull-requests.

  • Set up all existing code-style check tools with maximum strictness.

CustomPostgresqlDataTypeFactory.java:13-14: this...

The puzzle 6-3551727a from #6 has to be resolved:

// @todo #6 this DataTypeFactory should be pull-requested to dbunit
// for more info see https://github.com/database-rider/database-rider/issues/102#issuecomment-511241871

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

AbstractEntity.java:36-43: choose better created_at...

The puzzle 6-af8b3d4f from #6 has to be resolved:

// @todo #6 choose better created_at postgres-format (with or without TZ).
// Also think of ZonedDateTime in createdAt field.
// ZonedDateTime + timestamptz seems the best way.
// - Test changing of postgres server timezone.
// - Test changing of hibernate.time_zone property.
// - Test changing of JVM timezone.
// In all of these cases there MUST be valid timestamptz in postgres.
// In all of these cases there MUST be valid ZonedDateTime in code.

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

LinesOfCodeIntegrationTest.java:11: Implement...

The puzzle 10-6d9090eb from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

ResendErroneousReviewsIntegrationTest.java:18: Implement...

The puzzle 10-c5423926 from #10 has to be resolved:

// @todo #10 Implement ResendErroneousReviewsIntegrationTest

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

TooManyStars.java:98: Get rid of TooManyStarsResult -...

The puzzle 10-d0e206d9 from #10 has to be resolved:

// @todo #10 Get rid of TooManyStarsResult - Review is enough (see FoundOnHackernews)

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Increase code-coverage

GapsFillerIntegrationTest.java:11: Implement...

The puzzle 10-a0a04470 from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

IncrementedParserIntegrationTest.java:11: Implement...

The puzzle 10-2ff894fd from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

RetryErroneousIntegrationTest.java:11: Implement...

The puzzle 10-f8a4ea3e from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

ProjectsHealthCheckIntegrationTest.java:52: extract to...

The puzzle 6-facd1e77 from #6 has to be resolved:

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

ItemsHealthCheckIntegrationTest.java:11: Implement...

The puzzle 10-3ebb1a8d from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

ParserIntegrationTest.java:11: Implement...

The puzzle 10-d5175438 from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

TooManyStars.java:69: TooManyStars: add test case with...

The puzzle 50-620293b3 from #50 has to be resolved:

// @todo #50 TooManyStars: add test case with transaction rollback

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

MissingFillerIntegrationTest.java:18: Implement...

The puzzle 10-5ffba3e0 from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

`stars-up`: add a date-time of review creation to review text

As we can see here there is a case when review are submitted with some delay (because of the daily review creation limits on Codexia).

image

To clarify the situation it would be better to add a date-time of review creation (on the bot side) to review text.

Expected review text:

The repo gained 34 stars: from 270 (at 2020-02-26T23:23:37Z) to 304 (at 2020-04-13T12:11:22Z). See the stars history here.

StarsUp.java:73: add test case with transaction rollback

The puzzle 6-4d9a1ad5 from #6 has to be resolved:

// @todo #6 add test case with transaction rollback

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

FoundOnHackernews.java:113: get rid of...

The puzzle 6-cae02d85 from #6 has to be resolved:

// @todo #6 get rid of FoundOnHackernews.TmpDto using `org.javatuples.Pair`

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

CodexiaClient.java:73: write tests for different timezones

The puzzle 6-ba4d7ce3 from #6 has to be resolved:

// @todo #6 write tests for different timezones

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

CodexiaParserIntegrationTest.java:18: Implement...

The puzzle 10-137a4b3c from #10 has to be resolved:

The puzzle was created by Maksim Iakunin on 20-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Bot for submitting new project to Codexia

According the conversation here there are following rules for submitting a new project to Codexia:

  • Don't submit if there is no activity over the last year.
  • Don't submit with less than 100 stars.
  • Don't submit if there are more than 10K stars.
  • Don't submit if there are less than 5K lines of code.

Extra:

  • Don't submit if there is no README in repo.
  • Don't submit if the language of a README is not English.

CodexiaModule.java:11: All the...

The puzzle 19-703b27a3 from #19 has to be resolved:

// @todo #19 All the codexiaModule.createReview() calls MUST be inside a transaction

The puzzle was created by Maksim Iakunin on 17-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

GithubModule.java:19-20: rewrite in much common way:...

The puzzle 0-2d57295c from #0 has to be resolved:

* @todo #0 rewrite in much common way: `List<GithubRepo> findAllExistsInAllSources(Set<Source> sources)`
* and remove `findAllInCodexiaAndHackernews()` and `findAllInCodexia()` methods

The puzzle was created by Maksim Iakunin on 13-Apr-20.

role: DEV.

If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.