{"id":20326068,"url":"https://github.com/bkosm/fakers","last_synced_at":"2025-04-11T20:06:23.004Z","repository":{"id":55608775,"uuid":"307152270","full_name":"bkosm/fakers","owner":"bkosm","description":"Fake Polish persona database system, including a generator, graphql api server and js client.","archived":false,"fork":false,"pushed_at":"2020-12-22T12:14:19.000Z","size":16588,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T20:06:17.553Z","etag":null,"topics":["absinthe","dataloader","ecto","geolocation-api","graphql","phoenix","postgresql","react"],"latest_commit_sha":null,"homepage":"https://bart-kosmala.github.io/fakers/","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkosm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-25T17:22:06.000Z","updated_at":"2023-03-08T23:25:20.000Z","dependencies_parsed_at":"2022-08-15T04:20:25.996Z","dependency_job_id":null,"html_url":"https://github.com/bkosm/fakers","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkosm%2Ffakers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkosm%2Ffakers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkosm%2Ffakers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkosm%2Ffakers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkosm","download_url":"https://codeload.github.com/bkosm/fakers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248473127,"owners_count":21109628,"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":["absinthe","dataloader","ecto","geolocation-api","graphql","phoenix","postgresql","react"],"created_at":"2024-11-14T19:42:48.055Z","updated_at":"2025-04-11T20:06:22.981Z","avatar_url":"https://github.com/bkosm.png","language":"Elixir","readme":"# fakers\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"client/src/Assets/logo512frs.png\" width=\"150\" title=\"Logo\"\u003e\n\u003c/p\u003e\n\n\n# About\nPolish fake persona database system. It produces people according to the following database diagram:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"database/diagrams/fakers_db.png\" title=\"Logo\"\u003e\n\u003c/p\u003e\n\nIt generates convincing email addresses based on given person's data, a valid PESEL number and real-world addresses with usable coordinates.\n\nTo deploy the system you need:\n* `PostgreSQL`, \n* `.NET Core` (at least 3.1),\n* `Erlang/OTP`,\n* `Elixir`.\n\n## Database\n\nThe database definition contains a separate postgres user, tables, indexes and triggers. Ubuntu deployment is automated and provided [here](database/README.md). \nOn Windows similar procedures apply. After installing Postgres (remember the master password) launch an administrator PowerShell and:\n\n```sh\npsql -f \"./init.sql\"\npsql -U fakers_u -d fakers_db -f \"./tables.sql\"\npsql -U fakers_u -d fakers_db -f \"./triggers.sql\"\n```\n\nThat should prepare what's needed to start the generator.\n\n## Generator\n\nWritten in C# - `.NET Core 3.1`. Generates person data and persists it in the database. The generator application depends on two external APIs:\n* `https://api.namefake.com/polish-poland/` - provides Polish names used as seed for the generator,\n* `https://api.geoapify.com/v1` - provides geolocation data for real coordinates.\n\nTo start generating people data make sure to have a local Postgres database defined as in Database section and run:\n\n```sh\ncd generator\ndotnet run --project EntityGenerator\n```\n\nIt will loop forever until an interrupt is sent. At this point you can start the server to make it internet-available.\n\n#### Geoapify note\n\nAs of now, a key is provided within the app. It allows for up to 100K requests/month and is a standard free tier service. \n\nWhen deploying it in your own environment please obtain your own key and modify `generator/ExternalAPI/GetDataFromJson.cs`'s `_geoKEY` accordingly.\n\n__**This will likely change after presentation (23.12.2020) and a separate key will be required.**__\n\n---\n\n## ORM Server\n\nWritten in Elixir. Provides all CRUD operations on the database via GraphQL. \n\nTo get it up and running:\n```sh\ncd server\nmix deps.get\nmix phx.server\n```\n\nThese commands will start the server at your local port `4000`.\n\n## Client\n\nWritten in `React.js`. It provides info on the project and uses a GraphiQL component to provide a visual way to present and modify data. The client application is hosted [here](https://bart-kosmala.github.io/fakers/). To deploy your own you need `node.js` and `npm`. \n\nSimply `npm start` in the `client` directory.\n\nYou can feed the client a GraphQL API initially with url parameter - for example: \n\n[`bart-kosmala.github.io/fakers?api=https://swapi-graphql.netlify.app/.netlify/functions/index`](https://bart-kosmala.github.io/fakers?api=https://swapi-graphql.netlify.app/.netlify/functions/index)\n\nTo integrate the client with deployed application simply pass the server's address. At this point it should be:\n\n[`bart-kosmala.github.io/fakers?api=http://localhost:4000`](https://bart-kosmala.github.io/fakers?api=http://localhost:4000)\n\n## Hosting\n\nThe application was deployed for presentation purposes on `AWS` free tier services. Feel free to invest in some long-term hosting to provide constant access.\n\n# Authors\n- Bartosz Kosmala\n- Roch Goszczyński\n- Jordan Kondracki\n- Mateusz Kuźniak\n- Hubert Knioła\n\n\u003e 2020 SEM 5 @ PUT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkosm%2Ffakers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkosm%2Ffakers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkosm%2Ffakers/lists"}