{"id":25265776,"url":"https://github.com/prabin-sr/ArticleHistory-Golang","last_synced_at":"2025-10-27T04:31:10.368Z","repository":{"id":218305795,"uuid":"235852278","full_name":"prabin-sr/ArticleHistory-Golang","owner":"prabin-sr","description":"A open-source project, that helps users to get the articles published in NewYork Times newspaper from September, 1851 to last month.","archived":false,"fork":false,"pushed_at":"2021-08-27T14:43:27.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T17:53:01.737Z","etag":null,"topics":["gin","gin-framework","gin-gonic","gin-middleware","go","go-lang","golang","golang-application","golang-examples","golang-library","golang-package","golang-server","golang-tools","gorm","gorm-migrate","gorm-migration","gorm-model","gorm-orm","gorm-sample","mysql"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prabin-sr.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-01-23T17:50:23.000Z","updated_at":"2023-05-03T02:41:01.000Z","dependencies_parsed_at":"2024-01-21T04:46:37.794Z","dependency_job_id":null,"html_url":"https://github.com/prabin-sr/ArticleHistory-Golang","commit_stats":null,"previous_names":["prabin-sr/articlehistory"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prabin-sr/ArticleHistory-Golang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabin-sr%2FArticleHistory-Golang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabin-sr%2FArticleHistory-Golang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabin-sr%2FArticleHistory-Golang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabin-sr%2FArticleHistory-Golang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prabin-sr","download_url":"https://codeload.github.com/prabin-sr/ArticleHistory-Golang/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabin-sr%2FArticleHistory-Golang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281215327,"owners_count":26462937,"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-10-27T02:00:05.855Z","response_time":61,"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":["gin","gin-framework","gin-gonic","gin-middleware","go","go-lang","golang","golang-application","golang-examples","golang-library","golang-package","golang-server","golang-tools","gorm","gorm-migrate","gorm-migration","gorm-model","gorm-orm","gorm-sample","mysql"],"created_at":"2025-02-12T08:22:01.861Z","updated_at":"2025-10-27T04:31:10.105Z","avatar_url":"https://github.com/prabin-sr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArticleHistory\nHelps users to get the articles published in NewYork Times newspaper from **September, 1851** to **last month**. The news articles are extracted from NewYork Times through APIs will be used for data-processing and NLP (as per your requirements). This project is built using **Go (GoLang)** web framework **`Gin`** and **MySQL**.\n\n\nEnvironment Setup\n--------------------\n1. Install Go programming language (Go or GoLang).\n2. Install any code editor or IDE which has support for Go.\n3. Install all dependency packages using `go get`.\n    1. `go get -u github.com/gin-gonic/gin`\n    2. `go get -u github.com/jinzhu/gorm`\n    3. `go get -u github.com/go-sql-driver/mysql`\n    4. `go get golang.org/x/crypto/bcrypt`\n4. Install `MySQL` or `MariaDB` - (Both will act like same).\n5. Configure MySQL/MariaDB with a username and password.\n6. Create a database inside the MySQL which is needed to run go http server.\n7. Configure NY API (nytimes) credentials in `configurations/static/nyapiconf.json` file.\n\n\nDatabase Setup\n--------------------\n1. Download and install `MariaDB` or `MySQL`.\n2. Create an user with a strong password.\n3. Create a database with a suitable name.\n4. Update the database configuration file with the username and password.\n\n\nEmailServer Setup\n----------------------\n1. Create a email-id from any email service.\n2. Grant permission to the email to use it from any 3rd party application.\n2. Update the email configuration file.\n\n\nServer Setup\n----------------------\n1. Run Application.\n    1. Format: `go run \u003cfilename\u003e.go`\n    2. Example: `go run main.go`\n2. Build Application with dependencies (Creates executables).\n    1. Format: `go build \u003cfilename\u003e.go` or `go build`\n    2. Example: `go build main.go`\n\n\nAPI List\n---------------------\n1. POST   /api/v1/user/register\n2. POST   /api/v1/user/login\n3. GET    /api/v1/user/logout\n4. GET    /api/v1/user/details\n5. GET    /api/v1/archive/details/:year/:month\n\n\nAPI Instructions\n-----------------------\n1. Register an user with `/api/v1/user/register` API call.\n2. Login with the registered user details, `/api/v1/user/login` API call.\n3. You will get Auth Token when login.\n4. Set the auth token request header `Authorization: Bearer YourToken` for all API calls, after login.\n5. API call `/api/v1/user/details` is for getting the details of logged in user.\n6. To get the list of all articles link and details for a particular year and month call `/api/v1/archive/details/:year/:month` API.\n7. To logout from the application, use `/api/v1/user/logout` API call.\n\n\nHelp\n----------------------\n1. Don't fotgot to change the configurations for the application in `configurations` directory.\n1. `https://golang.org/dl/`\n2. `https://code.visualstudio.com/#alt-downloads`\n3. `https://downloads.mariadb.org/`\n4. `https://golang.org/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them`\n\n\nLicence\n-----------------------\nThis software is licenced under *GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007*.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprabin-sr%2FArticleHistory-Golang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprabin-sr%2FArticleHistory-Golang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprabin-sr%2FArticleHistory-Golang/lists"}