Dear mentors,
I've attached the refactored final version of the report for GSoC to this
report for your information. Any feedback, suggestion will be appreciated.
I mentioned the library, 2 web services, 2 pull-requests, the ontology,
debugging in Android and what needs to be done more(about integrating into
Signal client), basically everything I have done so far. Additionally, i
would love to thank you Mr. Hasan for your technical support everyday and
Mr. Kamaci for all administration stuff. I've seen my strengths and
weaknesses in this project period. Hopefully I will be a better developer
and one day a senior developer like you mentoring students, juniors. It was
a great meeting and working with you. I hope we will be in  touch for
future improvements and ideas.
Best regards!


On Thu, Aug 12, 2021 at 2:45 PM Hasan Hasan <[email protected]> wrote:

> Thanks Yusuf for the report.
>
> One important task in this project is to be able to hook into the Signal
> library or client (whatever client you choose). Please provide the
> information in the report as well in this respect. You should especially
> mention
> 1. which client code you are using to place a hook (links to github
> project, etc. where the client code is publicly available)
> 2. the location of the client code where you can place a hook (an excerpt
> of the class and method)
> 3. how the hook is written (post requests to your server)
> 4. whether any extra library you need to make the client works as expected
>
> Best regards
> Hasan
>
> On Wed, Aug 11, 2021 at 9:57 AM Yusuf Karadağ <[email protected]>
> wrote:
>
>> Hello,
>> I'm sending this mail to inform you what has been done in week 8 and 9.
>>
>> *Week 6:*
>>
>>    - I created corresponding methods in the web service to parse the
>>    graph, serialize the graph into a file and build the graph with the
>>    incoming json.
>>    - If the incoming conversation exists, it will overwrite the
>>    conversation and person and will just store the message.
>>    - With the help of Mr. Hasan, we managed to store the messages in the
>>    correct way.
>>
>> *Week 7:*
>>
>>    - I took classes and methods related to Signal and put them into
>>    separate library.
>>    - Mr. Hasan said to remove methods that are not used by the library.
>>    I will do that.
>>    - I will also create another service to make it work with Java 8.
>>    - A Little bit more detailed report is attached to this mail.
>>
>>
>> Best regards!
>>
>> On Wed, Jul 21, 2021 at 10:15 AM Yusuf Karadağ <
>> [email protected]> wrote:
>>
>>> Hello,
>>> I'm sending this mail to inform you what has been done in week 6 and 7.
>>> I realized that i didn't send the report for week 6, i am sorry.
>>>
>>> *Week 6:*
>>>
>>>    - I created a dummy REST service to receive messages from Signal
>>>    clients. (1 GET and 1 POST to see if that's actually working. We've 
>>> tested
>>>    with Mr. Hasan it's working) with Quarkus. It's a microservice framework
>>>    developed by RedHat.
>>>    - In the Signal Android app, I assign 2 variables for messageText
>>>    and timestamp. And if the message is not empty, send it to the server. 
>>> Then
>>>    I created a method to send data to the server with Java Http library.
>>>
>>> *Week 7:*
>>>
>>>    - This week we couldn't meet with Mr. Hasan. I assume he was busy.
>>>    - I've changed the input type coming from the client. It was *Map<String,
>>>    String> *before and I've changed it to *ObjectNode*. It's basically
>>>    a representation of a JSON object in
>>> *Jackson Databind library. *
>>>    - Then in the service, I deserialized it to an ObjectNode as well. I
>>>    got the message and timestamp and stored it in a graph as in Example 1.
>>>
>>>
>>> Best regards!
>>>
>>> On Thu, Jul 8, 2021 at 8:38 AM Hasan <[email protected]> wrote:
>>>
>>>> Thanks a lot!
>>>>
>>>> Best regards
>>>> Hasan
>>>>
>>>> On Wed, Jul 7, 2021 at 7:48 PM Yusuf Karadağ <
>>>> [email protected]> wrote:
>>>>
>>>>> Hello,
>>>>> I'm sending this mail to inform you what has been done in week 5.
>>>>>
>>>>> *Week 5:*
>>>>>
>>>>>    - Mr. Hasan merged my *pull-request*
>>>>>    <https://github.com/apache/clerezza/pull/21#event-4985268757> into
>>>>>    the CLEREZZA-1068-schemagen
>>>>>    <https://github.com/apache/clerezza/tree/CLEREZZA-1068-schemagen>
>>>>>    branch. He will do a final review and refactoring and then hopefully 
>>>>> will
>>>>>    merge to the master.
>>>>>    - Last week I tested my ontology and tried to generate the class
>>>>>    with the *schemagen plugin.* It generated the class successfully.
>>>>>    - I found out which function Signal Messenger is encrypting and
>>>>>    decrypting the message in android. If you put a breakpoint to line 
>>>>> 113, you
>>>>>    can see the message content before encrypting by typing to the 
>>>>> evaluator in
>>>>>    Android Studio:* ((EnvelopeContent.Encrypted)
>>>>>    content).content.getDataMessage().getBody(). *And if we put
>>>>>    another breakpoint to the line 156 by typing to the evaluator:  
>>>>> *content.getDataMessage().getBody
>>>>>    *we can see the decrypted message.
>>>>>    - We discussed with Mr. Hasan how I am going to store the message
>>>>>    to the RDF graph. We came up with 2 possible solutions. First one is to
>>>>>    integrate Clerezza into the Android environment and the second one is 
>>>>> to
>>>>>    store messages in *libsignal-service-java*
>>>>>    <https://github.com/signalapp/libsignal-service-java> module. We
>>>>>    found the second option more precise.
>>>>>    - This week I will create a web service with one endpoint to
>>>>>    receive message contents that will be sent from
>>>>>    *libsignal-service-java*
>>>>>    <https://github.com/signalapp/libsignal-service-java>* and try to
>>>>>    store them in memory.*
>>>>>    - I also wrote a small documentation about how to debug in Android
>>>>>    Studio and see messages before encrypting and after decrypting.
>>>>> * The report attached to this email. *
>>>>>
>>>>>
>>>>> Best regards!
>>>>>
>>>>> On Tue, Jul 6, 2021 at 8:48 AM Yusuf Karadağ <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>> Thanks for the resources. I've solved the problem and found the
>>>>>> message encrypting and decrypting in Signal Android. I'll write the 
>>>>>> report
>>>>>> to this mail after we have the meeting tomorrow.
>>>>>>
>>>>>> Best regards!
>>>>>>
>>>>>> On Tue, Jul 6, 2021 at 7:39 AM Hasan <[email protected]> wrote:
>>>>>>
>>>>>>> Hi Yusuf
>>>>>>>
>>>>>>> Probably these resources can help
>>>>>>>
>>>>>>> https://github.com/signalapp/libsignal-service-java
>>>>>>>
>>>>>>> https://github.com/Turasa/libsignal-service-java
>>>>>>> https://github.com/AsamK/signal-cli
>>>>>>>
>>>>>>> Hasan
>>>>>>>
>>>>>>> On Wed, Jun 30, 2021 at 9:26 AM Yusuf Karadağ <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hello Mr. KAMACI,
>>>>>>>> I'm sending this mail to inform you what has been done in week 4.
>>>>>>>>
>>>>>>>> *Week 4:*
>>>>>>>>
>>>>>>>>    - I have fixed a few issues in PR regarding the dependency
>>>>>>>>    version. It's ready to review.
>>>>>>>>    - I have created random data based on the model I have created.
>>>>>>>>    The scenario is: 2 people, 5 messages and 1 conversation. I've 
>>>>>>>> attached the
>>>>>>>>    random data and its visualization to this mail.
>>>>>>>>    - I had a look at Signal API and Android client since it's the
>>>>>>>>    only client that's written with Java. I got familiar with the code.
>>>>>>>>    - I had to install Android Studio to debug the application and
>>>>>>>>    try to find where the message is encrypting/decrypting in order to 
>>>>>>>> store
>>>>>>>>    them. I'm struggling with debugging because it's massive and the 
>>>>>>>> emulator
>>>>>>>>    keeps freezing during debug mode. I will continue debugging this 
>>>>>>>> week and
>>>>>>>>    will find out.
>>>>>>>>    - We didn't have a meeting this week so we couldn't discuss
>>>>>>>>    this data and next tasks. But I will dig in a little bit more and 
>>>>>>>> will
>>>>>>>>    create a new module.
>>>>>>>>
>>>>>>>>
>>>>>>>> Best regards!
>>>>>>>>
>>>>>>>> On Wed, Jun 23, 2021 at 9:48 PM Yusuf Karadağ <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hello Mr. KAMACI,
>>>>>>>>> I'm sending this mail to inform you what we have discussed with
>>>>>>>>> Mr. Hasan and what has been done in week 3.
>>>>>>>>>
>>>>>>>>> *Week 3:*
>>>>>>>>>
>>>>>>>>>    - I've updated the PR since Mr. Hasan released new versions of
>>>>>>>>>    jenar parser and serializer.
>>>>>>>>>    - By fixing those bugs with the new release all tutorials are
>>>>>>>>>    working right now. I'll create a new PR for them this week as 
>>>>>>>>> well.(
>>>>>>>>>    https://github.com/apache/clerezza/pull/21)
>>>>>>>>>    - We've discussed the final model of ontology for signal with
>>>>>>>>>    Mr. Hasan. For now, it seems okay. But if over time I realize sth 
>>>>>>>>> is wrong,
>>>>>>>>>    i'll refactor it according to need. I've attached the 
>>>>>>>>> visualization of
>>>>>>>>>    ontology to this mail as well.
>>>>>>>>>    - We've checked my PR for schemagen and ontology plugins. It
>>>>>>>>>    didn't work before because the ontology module was using the old
>>>>>>>>>    dependency. After updating dependency and configurations, we've 
>>>>>>>>> tried with
>>>>>>>>>    *foaf* ontology and it successfully generated *FOAF.java *as
>>>>>>>>>    expected.
>>>>>>>>>    - I pushed the latest changes to my branch so everything is in
>>>>>>>>>    the PR that I opened.
>>>>>>>>>    - This week I will create some random data with the model I
>>>>>>>>>    designed to get more familiar with RDF concepts.
>>>>>>>>>    - Last but not least, I will have a look and get familiar with
>>>>>>>>>    the Signal API and will try to find where the message is 
>>>>>>>>> encrypting and
>>>>>>>>>    where it is decrypting in the Signal Android client hopefully.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Best regards!
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jun 16, 2021 at 10:13 AM Yusuf Karadağ <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hello Mr. KAMACI,
>>>>>>>>>> I'm sending this mail to inform you what we have discussed with
>>>>>>>>>> Mr. Hasan and what has been done.
>>>>>>>>>>
>>>>>>>>>> *Week 1:*
>>>>>>>>>>
>>>>>>>>>>    - Discussed about Signal model ontology.
>>>>>>>>>>    - Discussed about to have an idea about next-steps and
>>>>>>>>>>    milestone.
>>>>>>>>>>    - Discussed about *schemagen* module from legacy branch and
>>>>>>>>>>    pull-request to bring it back to main.
>>>>>>>>>>    - Created model classes for the Signal to take as reference
>>>>>>>>>>    to ontology.
>>>>>>>>>>    - Created some random data to visualize the created model to
>>>>>>>>>>    Neo4J database.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Week 2:*
>>>>>>>>>>
>>>>>>>>>>    - Discussed about the PR i created. Mr. Hasan will open an
>>>>>>>>>>    issue on Jira and i'll commit the changes with the issue name to 
>>>>>>>>>> Jira issue
>>>>>>>>>>    to link them.
>>>>>>>>>>    - I've created an ontology and visualization of it.
>>>>>>>>>>    - We've discussed about the model and made some changes about
>>>>>>>>>>    how the model would look. Changed some property names, types and
>>>>>>>>>>    relationships.
>>>>>>>>>>    - We've looked at to some existing ontologies and see if we
>>>>>>>>>>    can use existing classes from them.
>>>>>>>>>>    - I will have a look deeper to the ontologies and will find
>>>>>>>>>>    the compatible classes with ours.(like skos, foaf etc)
>>>>>>>>>>    - I took some notes abut the new model and will send it
>>>>>>>>>>    through group once i visualize it.
>>>>>>>>>>    - The online tool that i am using for visualization is:
>>>>>>>>>>    http://www.visualdataweb.de/webvowl
>>>>>>>>>>    - I've also asked which syntax should i use while writing the
>>>>>>>>>>    ontology. Mr. Hasan said that doesn't matter but xml is a bit more
>>>>>>>>>>    difficult to read so i'll do it with n-triple or turtle. I'll do 
>>>>>>>>>> some
>>>>>>>>>>    hands-on activity to get familiar with both syntaxes.
>>>>>>>>>>
>>>>>>>>>> I think those were all we've discussed. I'll keep sending you
>>>>>>>>>> emails as a report for what have done and discussed. If you want me 
>>>>>>>>>> to
>>>>>>>>>> write reports according to a template, i can do that too.
>>>>>>>>>> Best regards!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Yusuf
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Yusuf
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Yusuf
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Yusuf
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Yusuf
>>>>>
>>>>
>>>
>>> --
>>> Yusuf
>>>
>>
>>
>> --
>> Yusuf
>>
>

-- 
Yusuf

Reply via email to