{"id":27106402,"url":"https://github.com/maxkrv/chronos-be","last_synced_at":"2026-02-26T06:16:57.062Z","repository":{"id":284815986,"uuid":"942785245","full_name":"maxkrv/chronos-be","owner":"maxkrv","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-27T19:55:12.000Z","size":256,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-03-27T20:36:45.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/maxkrv.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}},"created_at":"2025-03-04T17:08:39.000Z","updated_at":"2025-03-27T19:55:16.000Z","dependencies_parsed_at":"2025-03-27T20:37:01.798Z","dependency_job_id":"949ff771-80e3-47bd-aaf4-722f00e0dd54","html_url":"https://github.com/maxkrv/chronos-be","commit_stats":null,"previous_names":["maxkrv/chronos-be"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxkrv%2Fchronos-be","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxkrv%2Fchronos-be/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxkrv%2Fchronos-be/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxkrv%2Fchronos-be/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxkrv","download_url":"https://codeload.github.com/maxkrv/chronos-be/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543586,"owners_count":20955865,"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":"2025-04-06T19:55:43.405Z","updated_at":"2026-02-26T06:16:52.043Z","avatar_url":"https://github.com/maxkrv.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/logo.svg\" width=\"100\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ch1 align=\"center\"\u003eChronos\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cem\u003eCalendar application Nest API\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://img.shields.io/github/license/maxkrv/chronos-be?style=flat\u0026color=0080ff\" alt=\"license\"\u003e\n \u003cimg src=\"https://img.shields.io/github/last-commit/maxkrv/chronos-be?style=flat\u0026logo=git\u0026logoColor=white\u0026color=0080ff\" alt=\"last-commit\"\u003e\n \u003cimg src=\"https://img.shields.io/github/languages/top/maxkrv/chronos-be?style=flat\u0026color=0080ff\" alt=\"repo-top-language\"\u003e\n \u003cimg src=\"https://img.shields.io/github/languages/count/maxkrv/chronos-be?style=flat\u0026color=0080ff\" alt=\"repo-language-count\"\u003e\n\u003cp\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eDeveloped with the software and tools below.\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/ESLint-4B32C3.svg?style=flat\u0026logo=ESLint\u0026logoColor=white\" alt=\"ESLint\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6.svg?style=flat\u0026logo=TypeScript\u0026logoColor=white\" alt=\"TypeScript\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/Prisma-2D3748.svg?style=flat\u0026logo=Prisma\u0026logoColor=white\" alt=\"Prisma\"\u003e\n \u003cimg src=\"https://img.shields.io/badge/Docker-2496ED.svg?style=flat\u0026logo=Docker\u0026logoColor=white\" alt=\"Docker\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Node.js-339933.svg?style=flat\u0026logo=Node.js\u0026logoColor=white\" alt=\"Node.js\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Zod-000000.svg?style=flat\u0026logo=Zod\u0026logoColor=white\" alt=\"Zod\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Prettier-F7B93E.svg?style=flat\u0026logo=Prettier\u0026logoColor=white\" alt=\"Prettier\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Swagger-85EA2D.svg?style=flat\u0026logo=Swagger\u0026logoColor=black\" alt=\"Swagger\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/OpenAPI-6BA539.svg?style=flat\u0026logo=OpenAPI-Initiative\u0026logoColor=white\" alt=\"OpenAPI\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Amazon_S3-569A31.svg?style=flat\u0026logo=Amazon-S3\u0026logoColor=white\" alt=\"AWS S3\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/nestjs-E0234E?style=flat\u0026logo=nestjs\u0026logoColor=white\" alt=\"Nest.js\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PostgreSQL-316192?style=flat\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/redis-%23DD0031.svg?style=flat\u0026logo=redis\u0026logoColor=white\" alt=\"Redis\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/JWT-000000?style=flat\u0026logo=JSON%20web%20tokens\u0026logoColor=white\" alt=\"JWT\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/axios-671ddf?style=flat\u0026logo=axios\u0026logoColor=white\" alt=\"Axios\"\u003e\n\n\u003c/p\u003e\n\u003chr\u003e\n\n## 🔗 Quick Links\n\n\u003e - [📋 Overview](#-overview)\n\u003e - [🚀 Tech Stack](#-tech-stack)\n\u003e - [🗄️ Database Schema](#️-database-schema)\n\u003e - [💻 Getting Started](#-getting-started)\n\u003e     - [⚙️ Installation](#️-installation)\n\u003e     - [🕜 Running Chronos](#-running-chronos)\n\u003e - [📜 Swagger Documentation](#-swagger-documentation)\n\u003e - [🤝 Contributing](#-contributing)\n\u003e - [📄 License](#-license)\n\n---\n\n## 📋 Overview\n\nChronos is a robust calendar management system API built with Nest.js and TypeScript. It provides comprehensive functionality for managing calendars, events, invitations, and user interactions in a scalable and secure manner.\n\n---\n\n## 🚀 Tech Stack\n\n- **Core**: [TypeScript](https://www.typescriptlang.org/), [Nest.js](https://nestjs.com/)\n- **Database**: [PostgreSQL](https://www.postgresql.org/), [Prisma ORM](https://www.prisma.io/)\n- **Caching**: [Redis](https://redis.io/)\n- **Authentication**: [JWT](https://jwt.io/), [bcryptjs](https://www.npmjs.com/package/bcryptjs)\n- **Storage**: [AWS S3](https://aws.amazon.com/s3/)\n- **Email**: [React-email](https://react.email/), [Nodemailer](https://nodemailer.com/)\n- **Validation**: [class-validator](https://github.com/typestack/class-validator), [class-transformer](https://github.com/typestack/class-transformer), [zod](https://zod.dev/)\n- **HTTP Client**: [axios](https://axios-http.com/)\n- **Security**: [helmet](https://helmetjs.github.io/)\n- **Documentation**: [Swagger](https://swagger.io/)\n- **Development**: [ESLint](https://eslint.org/), [Prettier](https://prettier.io/), [Husky](https://typicode.github.io/husky/)\n- **Containerization**: [Docker](https://www.docker.com/)\n\n---\n\n## 🗄️ Database Schema\n\nThe database schema is defined using Prisma. Below is a visual representation of the schema:\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"prisma/db.jpg\" alt=\"Database Schema\" width=\"600\" /\u003e\n\u003c/p\u003e\n\n---\n\n## 💻 Getting Started\n\n### ⚙️ Installation\n\n1. Clone the Chronos repository:\n\n```sh\ngit clone https://github.com/maxkrv/chronos-be.git\n```\n\n2. Change to the project directory:\n\n```sh\ncd chronos-be\n```\n\n3. Install the dependencies:\n\n```sh\nnpm install\n```\n\n4. Create a `.env` file in the root directory and add environment variables like in `.env.example` file.\n\n### 🕜 Running Chronos\n\nUse the following command to run the Chronos application:\n\n```sh\nnpm run dev\n```\n\n---\n\n## 📜 Swagger Documentation\n\nTo view the Swagger documentation for the Chronos API, follow these steps:\n\n1. Ensure the Chronos application is running.\n2. Open your web browser and navigate to `http://localhost:6969/api/docs#/`.\n\nThis will open the Swagger UI, where you can explore and test the API endpoints interactively.\n\n--\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Here are several ways you can contribute:\n\n- **[Submit Pull Requests](https://github.com/maxkrv/chronos-be/blob/main/CONTRIBUTING.md)**: Review open PRs, and submit your own PRs.\n- **[Join the Discussions](https://github.com/maxkrv/chronos-be/discussions)**: Share your insights, provide feedback, or ask questions.\n- **[Report Issues](https://github.com/maxkrv/chronos-be/issues)**: Submit bugs found or log feature requests for Chronos-be.\n\n\u003cdetails closed\u003e\n    \u003csummary\u003eContributing Guidelines\u003c/summary\u003e\n\n1. **Fork the Repository**: Start by forking the project repository to your GitHub account.\n2. **Clone Locally**: Clone the forked repository to your local machine using a Git client.\n\n    ```sh\n    git clone https://github.com/maxkrv/chronos-be\n    ```\n\n3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.\n\n    ```sh\n    git checkout -b new-feature-x\n    ```\n\n4. **Make Your Changes**: Develop and test your changes locally.\n5. **Commit Your Changes**: Commit with a clear message describing your updates.\n\n    ```sh\n    git commit -m 'Implemented new feature x.'\n    ```\n\n6. **Push to GitHub**: Push the changes to your forked repository.\n\n    ```sh\n    git push origin new-feature-x\n    ```\n\n7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.\n\nOnce your PR is reviewed and approved, it will be merged into the main branch.\n\n\u003c/details\u003e\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/maxkrv/chronos-be/blob/develop/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxkrv%2Fchronos-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxkrv%2Fchronos-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxkrv%2Fchronos-be/lists"}