{"id":20493938,"url":"https://github.com/willtpwise/tech-back","last_synced_at":"2025-09-12T18:41:41.597Z","repository":{"id":87789231,"uuid":"120234186","full_name":"willtpwise/tech-back","owner":"willtpwise","description":null,"archived":false,"fork":false,"pushed_at":"2018-02-04T23:50:54.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T05:55:52.637Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/willtpwise.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":"2018-02-04T23:46:55.000Z","updated_at":"2018-02-04T23:48:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"4af514cb-90f7-46b3-b64f-fe94ba021ea7","html_url":"https://github.com/willtpwise/tech-back","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Ftech-back","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Ftech-back/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Ftech-back/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/willtpwise%2Ftech-back/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/willtpwise","download_url":"https://codeload.github.com/willtpwise/tech-back/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242075563,"owners_count":20068225,"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":[],"created_at":"2024-11-15T17:37:36.758Z","updated_at":"2025-03-05T17:45:45.491Z","avatar_url":"https://github.com/willtpwise.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tech-back\n\n\u003e An email app, which accepts the necessary information to send emails.\n\n## Problem \u0026 Solution\nThis app solves the problem of an email client. It provides a simple, easy to use\ninterface with support for offline work.\n\nThe solution is split across two repos, this one (the back end) and the [front end](https://github.com/willtpwise/tech-front). It's a full-stack solution, however\nthe back end is in its infancy.\n\nThe back end uses [Node.js](https://nodejs.org/en/), along with:\n1. [Express](https://expressjs.com/) for bootstrapping the API\n2. [Axios](https://github.com/axios/axios) for HTTP requests\n\nCollectively, they interact with [Mailgun](https://www.mailgun.com/) and\n[SendGrid](https://sendgrid.com/) to distribute emails. Mailgun is the primary and\nSendGrid is the backup.\n\nI chose Node.js because it's the same language as my front end. This helped keep\nmy development workflow smooth and in sync.\n\nExpress was the fastest and simplest way to setup my API and local testing server.\n\nAxios is mirrored on the front end for handling HTTP requests. It's a great package\nand it's API is very easy to use.\n\n## Build Setup\n``` bash\n# create a config.json file with the API credentials\n# ask me for the contents. Structure is as per config-sample.json\ntouch config.json\n\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:8080\nnpm run start\n```\nNow clone, install and run the [front end](https://github.com/willtpwise/tech-front)\n\n## API Requests\nThis repo exposes a RESTful API. At the stage, it offers one endpoint.\n\n### /messages\nThe messages endpoint is the main endpoint for emails.\n\nThe create method accepts `POST` requests to the `/messages` endpoint.\n\n#### Request\n```shell\ncurl -X POST \u003capi base\u003e/messages -H \"Content-Type: application/json\" -d '{\"to\":[\"test@test.net\"],\"cc\":[\"test@test.com\"],\"bcc\":[\"test@test.com\"],\"subject\": \"Test\", \"body\": \"Test\"}'\n```\n#### Response\nThe response will be a JSON object with a single property – `status`, indicating\nwhether the email was sent.\n```json\n{\n  \"status\": true\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilltpwise%2Ftech-back","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilltpwise%2Ftech-back","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilltpwise%2Ftech-back/lists"}