{"id":28974849,"url":"https://github.com/plcoster/fcc_backend_project1","last_synced_at":"2026-04-28T17:01:41.832Z","repository":{"id":299016093,"uuid":"528202939","full_name":"PLCoster/fcc_backend_project1","owner":"PLCoster","description":"FreeCodeCamp Backend Project 1: Timestamp Microservice","archived":false,"fork":false,"pushed_at":"2022-08-24T05:09:30.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T12:16:52.551Z","etag":null,"topics":["express"],"latest_commit_sha":null,"homepage":"https://fcc-backend-project1.plcoster.repl.co/","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/PLCoster.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-24T00:04:41.000Z","updated_at":"2022-08-24T00:11:09.000Z","dependencies_parsed_at":"2025-06-14T06:33:01.593Z","dependency_job_id":"75dee199-320d-4588-b2c9-e18098f14d54","html_url":"https://github.com/PLCoster/fcc_backend_project1","commit_stats":null,"previous_names":["plcoster/fcc_backend_project1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PLCoster/fcc_backend_project1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLCoster","download_url":"https://codeload.github.com/PLCoster/fcc_backend_project1/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLCoster%2Ffcc_backend_project1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["express"],"created_at":"2025-06-24T12:07:08.951Z","updated_at":"2026-04-28T17:01:41.810Z","avatar_url":"https://github.com/PLCoster.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Free Code Camp: Backend Project 1 - Timestamp Microservice\n\n## Timestamp Microservice\n\n### Project Aims:\n\nThe aim of this project was to build a small web app with functionality similar to: https://timestamp-microservice.freecodecamp.rocks\n\nThe project was built using the following technologies:\n\n- **HTML**\n- **JavaScript** with **[Node.js](https://nodejs.org/en/) / [NPM](https://www.npmjs.com/)** for package management\n- **[Express](https://expressjs.com/)** web framework to build the web API.\n- **[Bootstrap](https://getbootstrap.com/)** for styling with some custom **CSS**\n- **[nodemon](https://nodemon.io/)** for automatic restarting of server during development.\n\n### Project Requirements:\n\n- **User Story #1:** A request to `/api/:date?` with a valid date should return a JSON object with a `unix` key that is a Unix timestamp of the input date in milliseconds (as type Number)\n\n- **User Story #2:** A request to `/api/:date?` with a valid date should return a JSON object with a `utc` key that is a string of the input date in the format: `Thu, 01 Jan 1970 00:00:00 GMT`\n\n- **User Story #3:** A request to `/api/1451001600000` should return `{ unix: 1451001600000, utc: \"Fri, 25 Dec 2015 00:00:00 GMT\" }`\n\n- **User Story #4:** Your project can handle dates that can be successfully parsed by `new Date(date_string)`\n\n- **User Story #5:** If the input date string is invalid, the api returns an object having the structure `{ error : \"Invalid Date\" }`\n\n- **User Story #6:** An empty date parameter should return the current time in a JSON object with a `unix` key\n\n- **User Story #7:** An empty date parameter should return the current time in a JSON object with a `utc` key\n\n### Project Writeup:\n\nThe first Free Code Camp: Back End Development Project is a timestamp web API. Users can request a timestamp in three ways:\n\n- Sending a `GET` request to `/api` or `/api/` (i.e. no date specified), returns the current UNIX timestamp in milliseconds, along with a corresponding current GMT date string.\n- Sending a `GET` request to `/api/\u003cNUMBER\u003e` will take the given NUMBER query parameter as a UNIX timestamp in milliseconds, and return this timestamp and the GMT date string for this timestamp.\n- Sending a `GET` request to `/api/\u003cSTRING\u003e` will cause the API to attempt to generate a JS `Date` object from the given STRING. If the STRING can be converted into a valid date (e.g. `'2015-12-22'`), then the UNIX timestamp and corresponding GMT date string are returned. If the STRING cannot be converted, an error is returned in JSON format.\n\n### Project Files:\n\n- `index.js` - the main entry point of the application, an express web server handling the routes defined in the specification.\n\n- `public/` - contains static files for the web app (stylesheet, logo, favicons etc), served by express using `express.static()`.\n\n- `views/` - contains the single html page for the web app, `index.html`, which is served by express on `GET` requests to `/`.\n\n### Usage:\n\nRequires Node.js / NPM in order to install required packages. After downloading the repo, install required dependencies with:\n\n`npm install`\n\nA development mode (with auto server restart on file save), can be started with:\n\n`npm run dev`\n\nThe application can then be viewed at `http://localhost:3000/` in the browser.\n\nTo start the server without auto-restart on file save:\n\n`npm start`\n\n# Timestamp Microservice BoilerPlate\n\nThe initial boilerplate for this app can be found at https://github.com/freeCodeCamp/boilerplate-project-timestamp/\n\nInstructions for building the project can be found at https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/timestamp-microservice\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplcoster%2Ffcc_backend_project1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplcoster%2Ffcc_backend_project1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplcoster%2Ffcc_backend_project1/lists"}