{"id":16002187,"url":"https://github.com/manics/chatlogs-viewer","last_synced_at":"2025-08-10T15:20:22.073Z","repository":{"id":14398332,"uuid":"17108941","full_name":"manics/chatlogs-viewer","owner":"manics","description":"Experimental web application for displaying chatlogs","archived":false,"fork":false,"pushed_at":"2014-03-17T01:59:38.000Z","size":11212,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-15T10:11:24.924Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/manics.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":"2014-02-23T13:58:06.000Z","updated_at":"2014-03-17T01:59:38.000Z","dependencies_parsed_at":"2022-09-22T16:22:37.423Z","dependency_job_id":null,"html_url":"https://github.com/manics/chatlogs-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/manics/chatlogs-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manics%2Fchatlogs-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manics%2Fchatlogs-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manics%2Fchatlogs-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manics%2Fchatlogs-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manics","download_url":"https://codeload.github.com/manics/chatlogs-viewer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manics%2Fchatlogs-viewer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269740700,"owners_count":24467830,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-08T10:01:28.438Z","updated_at":"2025-08-10T15:20:22.049Z","avatar_url":"https://github.com/manics.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chatlogs Viewer\n\nA simple [AngularJS](http://angularjs.org/) app for viewing and searching chatlogs based on [angular-seed](https://github.com/angular/angular-seed).\n\n\n## Installation\n\nClone the repository.\nThe chat logs must be stored in MongoDB.\nEach log must contain the following fields:\n\n    {\n        \"nick\" : \"user or nickname\",\n        \"message\" : \"Chat log message.\",\n        \"timestamp\" : ISODate(\"2014-01-01T00:00:00.000Z\")\n    }\n\nInstall node.js, and run `npm install` to install the required node.js modules.\n\nConfigure the MongoDB connection details by editting `dbname` and `mdbServer` in `server/search.js`.\nThe list of available chatrooms should be configured by editting `rooms` in `app/js/controllers.js`.\nEach room must correspond to a MongoDB collection.\n\n\n## Running the app\n\nStart the server by running `node server/webandapi-server.js [port]` (default port: 8000).\nThe application will be available at `http://localhost:\u003cport\u003e/app/index.html`, and the API under `http://localhost:\u003cport\u003e/api/`.\n\n\n## API\n\nIn additional to the listed parameters all methods accept the following parameters:\n\n- pretty `0|1`: Optional, if `1` return formatted JSON, default `0`\n- callback `function-name`: Optional support for JSONP, if provided wrap the returned JSON object in a function with the given name\n\nAll methods return a JSON object.\nIf an error occurs the returned JSON will include an `error` field, for example:\n\n    {\"error\":\"Invalid room\"}\n\n### /api/page\n\nFetch a consecutive set of messages.\nParameters:\n\n- room `string`: The chatroom name\n- dt `ISODate`: An ISO 8601 timestamp in the form `YYYY-MM-DDThh:mm:ss.sssZ`\n- nextn `integer`: The number of following messages to fetch, with timestamp greater or equal to `dt`\n- prevn `integer`: The number of previous messages to fetch, with timestamp less than `dt`\n\nReturn:\n\n- `prevlogs`: If `prevn \u003e 0` a list of preceding chat messages ordered by timestamp\n- `nextlogs`: If `nextn \u003e 0` a list of following chat messages ordered by timestamp\n\nExample:\n\n    http://localhost:\u003cport\u003e/api/page?room=chatroom-name\u0026dt=2014-01-01T13:25:00.000Z\u0026nextn=10\u0026prevn=10\u0026pretty=1\n\n    {\n       \"prevlogs\": [\n          {\n             \"nick\": \"Alice\",\n             \"message\": \"Hello\",\n             \"timestamp\": \"2014-01-01T13:23:05.142Z\"\n          },\n          ....\n       ],\n       \"nextlogs\": [\n          {\n             \"nick\": \"Bob\",\n             \"message\": \"Goodbye\",\n             \"timestamp\": \"2014-01-01T13:27:11.912Z\"\n          },\n          ....\n       ]\n    }\n\n### /api/search\n\nSearch messages within a datetime range using a regular expression.\nParameters:\n\n- room `string`: The chatroom name\n- startdt `ISODate`: An ISO 8601 timestamp in the form `YYYY-MM-DDThh:mm:ss.sssZ`\n- enddt `ISODate`: An ISO 8601 timestamp in the form `YYYY-MM-DDThh:mm:ss.sssZ`\n- regexp `re`: A regular expression\n- regexpopts `string`: A set of regular expression flags, default `i` (case insensitive matching)\n\nReturn:\n\n- `chatlogs`: A list of matching chat messages ordered by timestamp\n- `lastdt`: The timestamp of the most recent log message from the room\n\nExample:\n\n    http://localhost:\u003cport\u003e/api/search?room=chatroom-name\u0026startdt=2014-01-01T00:00:00.000Z\u0026enddt=2014-01-02T00:00:00.000Z\u0026regexp=hello\u0026regexpopts=i\u0026pretty=1\n\n    {\n       \"chatlogs\": [\n          {\n             \"nick\": \"Alice\",\n             \"message\": \"Hello\",\n             \"timestamp\": \"2014-01-01T13:23:05.142Z\"\n          },\n          ....\n       ],\n       \"lastdt\": \"2014-01-31T11:26:58.071Z\"\n    }\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanics%2Fchatlogs-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanics%2Fchatlogs-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanics%2Fchatlogs-viewer/lists"}