---
# System prepended metadata

title: Weekly Log

---

# Weekly Log

## Summary Of Work Done In Week One

- Day One: Researched on various tools that can be used to build a decoupled client-server architecture app using ocaml and decided on [js_of_ocaml](https://github.com/ocsigen/js_of_ocaml) or [jsoo-react](https://github.com/reason-in-barcelona/jsoo-react) for the client and [GraphQL API](https://github.com/andreas/ocaml-graphql-server) with the help of my mentors.
- Day Two: Went through some code samples that covered jsoo-react and js_of_ocaml.
- Day Three: Tried setting up a development environment using jsoo-react but kept getting jsoo-react-ppx error
- Day Four: Tried setting up a development environment using js_of_ocaml and went through dune, make, ocamlbuild, ocamlformat, etc to understand the necessary tools needed to get a working development environment. I succeeded with this.
- Day Five: Tried setting up a graphql api development environment using ocaml-graphql-server. I succeeded with this too.

# Summary Of Work Done In Week Two

- Day One: Implemented a demo graphQl server api
- Day Two to five: Tried consuming api created using js_of_ocaml
- Had meetings with my mentors

# Summary Of Work Done In Week Three

- Went through github projects covering client and server provided by my mentors 
- Tried consuming api created using js_of_ocaml and a jsoo library called brr

# Summary Of Work Done In Week Four

- Added sortByDate, sortByName and search features to the client side of the application 
- Added sortByDate, sortByName and search features to the api of the application 

# Summary Of Work Done In Week Five and Six
- Implementing 'dependsOn' and 'isDependentOn' features to the api to enable users filter out all packages that depends on a specified package and also get all packages that a specified package depends on (on the server)

# Summary Of Work Done In Week Seven
- Implementing 'dependsOn' and 'isDependentOn' features to the api to enable users filter out all packages that depends on a specified package and also get all packages that a specified package depends on (on the client)

# Summary Of Work Done In Week Eight
- Setup the server to to return opam packages as graphql api data using opam package real data