{"id":16979678,"url":"https://github.com/mariatorrentedev/express-auth-api","last_synced_at":"2026-04-13T16:32:05.505Z","repository":{"id":242105162,"uuid":"808623924","full_name":"mariatorrentedev/express-auth-api","owner":"mariatorrentedev","description":"Simple express auth service.","archived":false,"fork":false,"pushed_at":"2024-06-23T13:49:31.000Z","size":84,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T17:18:08.887Z","etag":null,"topics":["express","node","postgresql","prisma-orm","railway","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mariatorrentedev.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":"2024-05-31T13:07:06.000Z","updated_at":"2024-06-23T13:49:34.000Z","dependencies_parsed_at":"2024-05-31T17:52:57.382Z","dependency_job_id":"381b42e0-4c74-41da-9adb-7666dc0a05c3","html_url":"https://github.com/mariatorrentedev/express-auth-api","commit_stats":null,"previous_names":["mariatorrentedev/portfolio-api","mariatorrentedev/verse-bytes","mariatorrentedev/verse-bytes-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mariatorrentedev/express-auth-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariatorrentedev%2Fexpress-auth-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariatorrentedev%2Fexpress-auth-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariatorrentedev%2Fexpress-auth-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariatorrentedev%2Fexpress-auth-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mariatorrentedev","download_url":"https://codeload.github.com/mariatorrentedev/express-auth-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariatorrentedev%2Fexpress-auth-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31761802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"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","node","postgresql","prisma-orm","railway","typescript"],"created_at":"2024-10-14T01:46:38.583Z","updated_at":"2026-04-13T16:32:05.483Z","avatar_url":"https://github.com/mariatorrentedev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Express Auth API\n\nSimple Authentication service using the following technologies:\n\n- [Node](https://nodejs.org/en/)\n- [Express](https://expressjs.com/en/api.html)\n- [Prisma ORM](https://www.prisma.io/)\n- [Railway](https://railway.app/)\n\n## Table of Contents\n\n- [API Overview](#api-overview)\n- [Business Objects](#business-objects)\n- [Run it locally](#run-it-locally)\n- [Deploy it](#deploy-it)\n\n## API Overview\n\n```\n    /api\n    .\n    ├── /auth\n    │   └── POST\n    │       ├── /login\n    |       |__/signup\n    ├── /users\n    │   └── GET\n    │       PUT\n    │       DELETE\n    │       └── /\n```\n\n### API Detail\n\n| Method             |                Path                 |                          Purpose |\n| :----------------- | :---------------------------------: | -------------------------------: |\n| POST               |             /auth/login             |    Validates username \u0026 password |\n| POST               |            /auth/signup             | Register a user, generate token. |\n| **PRIVATE ROUTES** | Only accessible for **ADMIN** role: |\n| GET                |               /users                |                   Get all users. |\n| GET                |             /users/:id              |                  Get user by id. |\n| PUT                |             /users/:id              |               Update user by id. |\n| DELETE             |             /users/:id              |               Delete user by id. |\n\n---\n\n## Business Objects\n\n### Prisma Schema\n\n- **Users (table)**\n\n  - id (auto-generated)\n  - email (string)\n  - password (string)\n  - role (enum)\n  - createdAt (Date)\n  - updatedAt (Date)\n  - authoredPosts (Array of blog posts)\n\n## Run it locally\n\nTo build and run this app locally you will need a few things:\n\n- Install [Git](https://www.git-scm.com/)\n- Install [Node](https://nodejs.org/en/)\n- Install [PostgreSQL](https://www.postgresql.org/download/) or any DB provider that you want to connect with prisma.\n\n### Getting Started\n\n- Clone the repository\n\n```\ngit clone https://github.com/marialastNamedev/verse-bytes.git \u003cproject_dir\u003e\n```\n\n_Note: wtfunk...my lastName word is confused in Railway as a missing dependency causing a deployment error, just copy the url above using the Code button._\n\n- Create an `.env` file based on the example\n\n```\nmv example.env .env\n```\n\n- Install dependencies\n\n```\nnpm install\n```\n\n- Run it\n\n```\nnpm run dev\n```\n\n- Build it\n\n```\nnpm run build\n```\n\n## Deploy it\n\n### Railway\n\n1. Go to your [Railway dashboard](https://railway.app/dashboard).\n\n2. Create a new project and connect it to your current repository, deploy it.\n\n3. Create another service insde the same project for the DB.\n\n**_Note: This repo includes a GitHub workflow that will do CI/CD for both, the DB and the server. In order for it to work we would need to add some secrets to our repo:_**\n\n4. Create a `RAILWAY_TOKEN` [here](https://railway.app/project/) under your project _settings\u003etokens_.\n\n### Github\n\n1. Go to your repository project settings.\n\n2. Under _Security-\u003eSecrets and Variables\u003eactions_ add 3 new repository secrets:\n\n   - `RAILWAY_TOKEN` create above.\n   - `RAILWAY_SERVICE_ID` cp value under _variables_ in Railway project dashboard.\n   - `DATABASE_URL` cp value under _variables_ from the DB service in Railway project dashboard.\n\n3. This workflow will be triggered based on the `master` branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariatorrentedev%2Fexpress-auth-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmariatorrentedev%2Fexpress-auth-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariatorrentedev%2Fexpress-auth-api/lists"}