-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
57 changed files
with
15,321 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
## Background | ||
* New social media offering - competing with twitter | ||
* 2 Kafka topics | ||
* Tweets | ||
* Analytics | ||
* Microservice - User information | ||
|
||
Goal: Build a data feed for displaying our timeline on the UI | ||
|
||
|
||
## Querying a stream | ||
|
||
``` | ||
stream { UserStatusUpdateMessage } | ||
``` | ||
|
||
## Enriching a stream against a microservice | ||
|
||
``` | ||
import com.icycube.users.Username | ||
stream { UserStatusUpdateMessage } as { | ||
id: MessageId | ||
message: UserStatus | ||
username: Username | ||
name : FirstName + " " + LastName | ||
picture: MediumPictureURL | ||
}[] | ||
``` | ||
|
||
## Caching HTTP Requests | ||
|
||
Add: | ||
|
||
``` | ||
@Cache(connection = "localHzc") | ||
``` | ||
|
||
## Merging streams | ||
|
||
* We have multiple streams that we need to join | ||
|
||
## Streaming Analytics | ||
``` | ||
stream { MessageAnalytics } | ||
stream { UserStatusUpdateMessage | MessageAnalytics } | ||
import com.icycube.users.Username | ||
stream { UserStatusUpdateMessage | MessageAnalytics } as { | ||
id: MessageId | ||
message: UserStatus | ||
views: ViewCount | ||
username: Username | ||
name : FirstName + " " + LastName | ||
picture: MediumPictureURL | ||
}[] | ||
``` | ||
|
||
## State | ||
|
||
* | ||
|
||
```taxi | ||
import com.icycube.users.Username | ||
@Cache(connection = "localHzc") | ||
@StateStore(connection = "localHzc") | ||
stream { UserStatusUpdateMessage | MessageAnalytics } as { | ||
id: MessageId | ||
message: UserStatus | ||
views: ViewCount | ||
username: Username | ||
name : FirstName + " " + LastName | ||
picture: MediumPictureURL | ||
}[] | ||
``` | ||
|
||
## Why is this valuable? | ||
|
||
* Stitching streams together fast | ||
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>com.orbitalhq.demos</groupId> | ||
<artifactId>orbital-demos</artifactId> | ||
<version>1.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<artifactId>streaming-user-updates</artifactId> | ||
|
||
<packaging>pom</packaging> | ||
<modules> | ||
<module>user-updates-service</module> | ||
</modules> | ||
|
||
<properties> | ||
<maven.compiler.source>17</maven.compiler.source> | ||
<maven.compiler.target>17</maven.compiler.target> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
</properties> | ||
|
||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.taxi/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"recommendations": [ | ||
"taxi-lang.taxi-language-server" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>com.icycube</groupId> | ||
<artifactId>taxonomy</artifactId> | ||
<version>0.1.0</version> | ||
<properties> | ||
<maven.compiler.target>17</maven.compiler.target> | ||
<kotlin.version>1.8.10</kotlin.version> | ||
<maven.compiler.source>17</maven.compiler.source> | ||
<taxi.version>1.42.0</taxi.version> | ||
</properties> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.jetbrains.kotlin</groupId> | ||
<artifactId>kotlin-stdlib</artifactId> | ||
<version>${kotlin.version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.taxilang</groupId> | ||
<artifactId>taxi-annotations</artifactId> | ||
<version>${taxi.version}</version> | ||
</dependency> | ||
</dependencies> | ||
<repositories> | ||
<repository> | ||
<releases> | ||
<enabled>true</enabled> | ||
</releases> | ||
<snapshots> | ||
<enabled>true</enabled> | ||
</snapshots> | ||
<id>taxi-snapshots</id> | ||
<name>taxi-snapshots</name> | ||
<url>https://repo.orbitalhq.com/snapshot</url> | ||
</repository> | ||
<repository> | ||
<releases> | ||
<enabled>true</enabled> | ||
</releases> | ||
<id>taxi-releases</id> | ||
<name>taxi-releases</name> | ||
<url>https://repo.orbitalhq.com/release</url> | ||
</repository> | ||
</repositories> | ||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.jetbrains.kotlin</groupId> | ||
<artifactId>kotlin-maven-plugin</artifactId> | ||
<version>${kotlin.version}</version> | ||
<executions> | ||
<execution> | ||
<id>compile</id> | ||
<phase>compile</phase> | ||
<goals> | ||
<goal>compile</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
</project> |
90 changes: 90 additions & 0 deletions
90
streaming-user-updates/taxi/dist/src/main/java/com/icycube/TypeNames.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
package com.icycube | ||
|
||
import kotlin.String | ||
|
||
object TypeNames { | ||
object com { | ||
object orbitalhq { | ||
object films { | ||
object announcements { | ||
const val UserStatusUpdateMessage: String = | ||
"com.orbitalhq.films.announcements.UserStatusUpdateMessage" | ||
|
||
const val UserStatus: String = "com.orbitalhq.films.announcements.UserStatus" | ||
} | ||
} | ||
} | ||
|
||
object icycube { | ||
object users { | ||
const val Gender: String = "com.icycube.users.Gender" | ||
|
||
const val Title: String = "com.icycube.users.Title" | ||
|
||
const val FirstName: String = "com.icycube.users.FirstName" | ||
|
||
const val LastName: String = "com.icycube.users.LastName" | ||
|
||
const val City: String = "com.icycube.users.City" | ||
|
||
const val State: String = "com.icycube.users.State" | ||
|
||
const val Country: String = "com.icycube.users.Country" | ||
|
||
const val Postcode: String = "com.icycube.users.Postcode" | ||
|
||
const val Latitude: String = "com.icycube.users.Latitude" | ||
|
||
const val Longitude: String = "com.icycube.users.Longitude" | ||
|
||
const val Offset: String = "com.icycube.users.Offset" | ||
|
||
const val TimezoneDescription: String = "com.icycube.users.TimezoneDescription" | ||
|
||
const val UUID: String = "com.icycube.users.UUID" | ||
|
||
const val Username: String = "com.icycube.users.Username" | ||
|
||
const val Password: String = "com.icycube.users.Password" | ||
|
||
const val Salt: String = "com.icycube.users.Salt" | ||
|
||
const val MD5: String = "com.icycube.users.MD5" | ||
|
||
const val SHA1: String = "com.icycube.users.SHA1" | ||
|
||
const val SHA256: String = "com.icycube.users.SHA256" | ||
|
||
const val DateString: String = "com.icycube.users.DateString" | ||
|
||
const val Age: String = "com.icycube.users.Age" | ||
|
||
const val PhoneNumber: String = "com.icycube.users.PhoneNumber" | ||
|
||
const val CellNumber: String = "com.icycube.users.CellNumber" | ||
|
||
const val IDName: String = "com.icycube.users.IDName" | ||
|
||
const val IDValue: String = "com.icycube.users.IDValue" | ||
|
||
const val LargePictureURL: String = "com.icycube.users.LargePictureURL" | ||
|
||
const val MediumPictureURL: String = "com.icycube.users.MediumPictureURL" | ||
|
||
const val ThumbnailPictureURL: String = "com.icycube.users.ThumbnailPictureURL" | ||
|
||
const val Seed: String = "com.icycube.users.Seed" | ||
|
||
const val Results: String = "com.icycube.users.Results" | ||
|
||
const val Page: String = "com.icycube.users.Page" | ||
|
||
const val Version: String = "com.icycube.users.Version" | ||
|
||
const val StreetNumber: String = "com.icycube.users.StreetNumber" | ||
|
||
const val StreetName: String = "com.icycube.users.StreetName" | ||
} | ||
} | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/Age.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.Age | ||
import kotlin.Int | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = Age, | ||
imported = true | ||
) | ||
typealias Age = Int |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/CellNumber.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.CellNumber | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = CellNumber, | ||
imported = true | ||
) | ||
typealias CellNumber = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/City.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.City | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = City, | ||
imported = true | ||
) | ||
typealias City = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/Country.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.Country | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = Country, | ||
imported = true | ||
) | ||
typealias Country = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/DateString.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.DateString | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = DateString, | ||
imported = true | ||
) | ||
typealias DateString = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/FirstName.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.FirstName | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = FirstName, | ||
imported = true | ||
) | ||
typealias FirstName = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/Gender.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.Gender | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = Gender, | ||
imported = true | ||
) | ||
typealias Gender = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/IDName.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.IDName | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = IDName, | ||
imported = true | ||
) | ||
typealias IDName = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/IDValue.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.IDValue | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = IDValue, | ||
imported = true | ||
) | ||
typealias IDValue = String |
11 changes: 11 additions & 0 deletions
11
streaming-user-updates/taxi/dist/src/main/java/com/icycube/users/LargePictureURL.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.icycube.users | ||
|
||
import com.icycube.TypeNames.com.icycube.users.LargePictureURL | ||
import kotlin.String | ||
import lang.taxi.annotations.DataType | ||
|
||
@DataType( | ||
value = LargePictureURL, | ||
imported = true | ||
) | ||
typealias LargePictureURL = String |
Oops, something went wrong.