{"id":15062440,"url":"https://github.com/0xheartcode/backend-web3-skeleton","last_synced_at":"2026-01-07T05:36:38.437Z","repository":{"id":257686984,"uuid":"859016746","full_name":"0xheartcode/Backend-Web3-Skeleton","owner":"0xheartcode","description":"Backend Express Typescript CI/CD Skeleton Yarn V4","archived":false,"fork":false,"pushed_at":"2024-09-23T21:27:00.000Z","size":111,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-21T20:06:10.361Z","etag":null,"topics":["boilerplate","cicd","dbsqlite3","expressjs","mongodb","template","typescript","web3","workflow","yarn"],"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/0xheartcode.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-09-17T23:46:46.000Z","updated_at":"2024-09-23T21:27:03.000Z","dependencies_parsed_at":"2024-09-29T10:20:32.094Z","dependency_job_id":"225465f6-5dd7-4a75-8865-badf37b7499f","html_url":"https://github.com/0xheartcode/Backend-Web3-Skeleton","commit_stats":null,"previous_names":["0xheartcode/backend-web3-skeleton"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xheartcode%2FBackend-Web3-Skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xheartcode%2FBackend-Web3-Skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xheartcode%2FBackend-Web3-Skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xheartcode%2FBackend-Web3-Skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xheartcode","download_url":"https://codeload.github.com/0xheartcode/Backend-Web3-Skeleton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235111702,"owners_count":18937658,"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":["boilerplate","cicd","dbsqlite3","expressjs","mongodb","template","typescript","web3","workflow","yarn"],"created_at":"2024-09-24T23:36:11.487Z","updated_at":"2025-10-03T10:30:46.983Z","avatar_url":"https://github.com/0xheartcode.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backend Boilerplate with Express Typescript CI/CD Yarn v4 Project\n\nWelcome to the Blank Boilerplate Backend project. BBB. \n\nThis project is a Typescript Express application utilizing dbSqlite as a database. Support for other databases will be coming. Configured to use Yarn v4 as the package manager. It does use Github CI/CD.\n\nIt features basic API endpoints to help you get started.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [API Endpoints](#api-endpoints)\n- [Available Scripts](#available-scripts)\n- [Project Structure](#project-structure)\n\n## Installation\n\nTo install the dependencies for this project, run:\n\n```bash\nyarn install\n```\n## API Endpoints\n\n### Basic Operations\n- `GET /basic/getPing`: Basic ping (unrestricted)\n- `GET /basic/getSafePing`: Authenticated ping\n- `POST /basic/setBearerToken`: Set new bearer token\n- `GET /basic/getCurrentToken`: Get current bearer token\n- `POST /basic/changeBearerToken`: Change bearer token\n\nNote: Most endpoints require authentication with a bearer token.\n\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `yarn start`\n\nRuns the app in the development mode. Open [http://localhost:8080](http://localhost:8080) to view it in your browser.\n\n### `yarn dev`\n\nRuns the app in continious development mode and watches for file changes.\n\n### `yarn build`\n\nBuilds the app for production to the `build` folder. It correctly bundles React in production mode and optimizes the build for the best performance.\n\n### `yarn test`\n\nLaunches the test runner in the interactive watch mode.\n\n### `yarn eject`\n\nThis command will remove the single build dependency from your project. **Note: this is a one-way operation. Once you \\`eject\\`, you can’t go back!**\n\n### `yarn serve`\n\nServes the production build of the app using a static server.\n\n## Project Structure\n\n```\n.\n├── Makefile\n├── package.json\n├── README.md\n├── src\n│   ├── app.ts\n│   ├── dbcode\n│   │   ├── dbClient.ts\n│   │   └── dbSetup.ts\n│   ├── handlers\n│   │   └── basicHandler.ts\n│   ├── helpers\n│   ├── middleware\n│   │   └── auth.ts\n│   ├── routes.ts\n│   └── types\n│       └── dbInterfaces.ts\n├── tsconfig.json\n├── utils\n│   ├── db\n│   │   └── database.db\n│   ├── dockerfiles\n│   │   ├── docker-compose.yml\n│   │   └── Dockerfile.standard\n│   └── nginx\n│       └── nginx.conf\n└── yarn.lock\n```\n\n### CI/CD Process\n\nThis project uses GitHub Actions for Continuous Integration and Continuous Deployment. The branches below may be present partially or completely.\n\n- **Production Branch**: Code pushed to the `prod` branch will trigger the CI/CD pipeline, which will build and deploy the application to the production environment.\n- **Staging Branch**: Code pushed to the `staging` branch will trigger the CI/CD pipeline, which will build and deploy the application to the staging environment.\n- **Development Branch**: The `dev` branch is used for development purposes and does not trigger any CI/CD pipeline.\n\nThe CI/CD process is defined in the `.github/workflows` directory and includes steps such as checking out the repository, setting up Node.js, installing dependencies, building the project, creating a Docker image, and deploying it to the server.\n\n**Environment Variables (GitHub Secrets and Variables)**:\n- `ENVKEY_PORT`: Port number for the application [VAR]\n- `INITIAL_BEARER_TOKEN`: Initial bearer token for authentication [VAR]\n- `MAKEFILE_OVERWRITE_DOCKERNAME`: Docker name override [VAR]\n- `REMOTE_HOST_TESTNET`: Staging server hostname (needed) [SECRET]\n- `REMOTE_HOST_STAGING`: Staging server hostname (needed) [SECRET]\n- `REMOTE_HOST_PROD`: Production server hostname (needed) [SECRET]\n- `REMOTE_USERNAME`: SSH username for staging server (needed) [SECRET]\n- `SSH_PRIVATE_KEY`: SSH private key for server access (needed) [SECRET]\n- `REMOTE_PORT`: SSH port for staging server (needed) [SECRET]\n\n\n## Contributing\n\nOpen to PRs ☕😺\nHappy coding \u003c(0_0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xheartcode%2Fbackend-web3-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xheartcode%2Fbackend-web3-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xheartcode%2Fbackend-web3-skeleton/lists"}