{"id":20930191,"url":"https://github.com/dpbm/booktok","last_synced_at":"2026-05-06T18:36:06.601Z","repository":{"id":243092800,"uuid":"810852408","full_name":"Dpbm/BookTok","owner":"Dpbm","description":"A MVC+microservice application using dotnet","archived":false,"fork":false,"pushed_at":"2024-06-15T20:44:30.000Z","size":1316,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T18:51:54.479Z","etag":null,"topics":["api","csharp","docker","docker-compose","donet","http","microservice","mvc","systems"],"latest_commit_sha":null,"homepage":"https://dpbm.github.io/BookTok/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dpbm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-05T13:23:29.000Z","updated_at":"2024-08-29T08:40:24.000Z","dependencies_parsed_at":"2024-11-18T21:39:32.065Z","dependency_job_id":"eecaccc1-ae2b-41d8-8230-e70febd87b39","html_url":"https://github.com/Dpbm/BookTok","commit_stats":null,"previous_names":["dpbm/booktok"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2FBookTok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2FBookTok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2FBookTok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dpbm%2FBookTok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dpbm","download_url":"https://codeload.github.com/Dpbm/BookTok/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243324266,"owners_count":20273100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","csharp","docker","docker-compose","donet","http","microservice","mvc","systems"],"created_at":"2024-11-18T21:29:47.915Z","updated_at":"2026-05-06T18:36:06.573Z","avatar_url":"https://github.com/Dpbm.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BookTok\n\n\n![Build-Test](https://github.com/Dpbm/BookTok/actions/workflows/build-test.yml/badge.svg)\n![Docker Hub](https://github.com/Dpbm/BookTok/actions/workflows/dockerhub.yml/badge.svg)\n![GHRC](https://github.com/Dpbm/BookTok/actions/workflows/ghrc.yml/badge.svg)\n\nA simple bookstore application to our systems development class final assignment.\n\n## How does it work?\n\nThe project is made of an api and a mvc core. The former is a webapi .net application running at the port `3000`. This the part committed to handle the books reviews data storing them into a in memory database provided by the microsoft Entity framework. The latter, is a monolitic mvc app created to handle all the remaining data, such as costumers, books and sales, following the default architecture provided by the .net framework.\\\nTo join them together, we're are using http requests pointing to our api, so every time that a review related action is required by the cliente, a request is send and then the json response is treated by the client.   \n\n## Requirements\n\n- [donet8.0](https://learn.microsoft.com/en-us/dotnet/core/install/)\n\n\n## How to run\n\n\n### using pure dotnet\n\nFirst, you need to install all the required dependencies for each part. In each part's directory,there's a `install-dependencies.sh` script to automate this process for linux, however, for windows users, it's a nice idea to look inside the script and run line by line in your terminal (remeber to get into the correct directory) to ensure the correct installation.\n\n\n```bash\n# Linux installation\n\ncd ./BookTok\nchmod +x install-dependencies.sh \u0026\u0026 ./install-dependencies.sh\n\ncd ..\n\ncd ./BookTokApi\nchmod +x install-dependencies.sh \u0026\u0026 ./install-dependencies.sh\n```\n\nAfter that, is spected to have a `.env` file inside [BookTok directory](./BookTok/), this file is used to kept track the api uri. So, after installing all, go to this directory and do the following:\n\n```bash\n# for linux\ncd ./BookTok\necho 'API_BASE_URL=http://localhost:3000/api/' \u003e\u003e .env\n```\n\nIn case you are running the api in a different port or location, just change the `http://localhost:3000/` to point to your uri.\n \n\nAfter that, you can run the project itself. To do that, you may run at the same time both api and core applications in different terminal instances.\n\n\n```bash\n\n# instance 1\ncd ./BookTok\ndotnet run\n\n# instance 2\ncd ./BookTokApi\ndotnet run\n```\n\nIf you prefer, you can use [concurrently](https://www.npmjs.com/package/concurrently) to run them in the same instance, but for this you must have [nodejs](https://nodejs.org/en) installed.\n\n```bash\n# intall concurrently\nnpm install\n\nnpm run dotnet:dev # run the application with hot-reload\n#or\nnpm run dotnet:start\n```\n\n### using docker\n\nThere're docker images available to quickly run the application:\n```bash\n\n# from dockerhub\ndocker run -d -p 3000:3000 dpbm32/booktokapi\ndocker run -d -p 8080:8080 -e API_BASE_URL=\"http://localhost:3000/api/\" dpbm32/booktok\n\n# or from ghrc\ndocker run -d -p 3000:3000 ghcr.io/dpbm/booktok:api\ndocker run -d -p 8080:8080 -e API_BASE_URL=\"http://localhost:3000/api/\" ghcr.io/dpbm/booktok:mvc\n```\n\nIf you prefer, a docker compose file is available as well:\n\n```bash\ndocker compose up -d\n```\n\n# Demonstration\n\n[![video](https://img.youtube.com/vi/jeb19feikwE/0.jpg)](https://youtu.be/jeb19feikwE)\n\n\n## Group\n\nThe members of the group are:\\\n    - [Alexandre](https://github.com/Dpbm)(me)\\\n    - [Gabriela](https://github.com/Gsr13)\\\n    - Hugo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpbm%2Fbooktok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpbm%2Fbooktok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpbm%2Fbooktok/lists"}