{"id":15098888,"url":"https://github.com/qridwan/xnote-server","last_synced_at":"2026-01-07T03:43:32.909Z","repository":{"id":205881353,"uuid":"715316798","full_name":"qridwan/xNote-server","owner":"qridwan","description":"Smart BE service that allows users to create, manage, and organize text-based notes. It provides users with the ability to create, edit, categorize, and search for notes, making it easy to capture and retrieve information efficiently.","archived":false,"fork":false,"pushed_at":"2025-03-26T10:37:14.000Z","size":396,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T11:27:29.076Z","etag":null,"topics":["chai","express","joi","jwt","knex","mysql"],"latest_commit_sha":null,"homepage":"https://documenter.getpostman.com/view/15074292/2s9YXfcimY#22177e0b-79c1-499f-ad21-a4e7deb0b6cf","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/qridwan.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":"2023-11-06T22:35:56.000Z","updated_at":"2025-03-26T10:37:19.000Z","dependencies_parsed_at":"2023-11-12T16:24:58.557Z","dependency_job_id":"44365437-5f03-4d5c-91f5-5ca2d7a20d80","html_url":"https://github.com/qridwan/xNote-server","commit_stats":null,"previous_names":["qridwan/xnote-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qridwan%2FxNote-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qridwan%2FxNote-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qridwan%2FxNote-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qridwan%2FxNote-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qridwan","download_url":"https://codeload.github.com/qridwan/xNote-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245854880,"owners_count":20683429,"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":["chai","express","joi","jwt","knex","mysql"],"created_at":"2024-09-25T17:01:12.797Z","updated_at":"2026-01-07T03:43:32.846Z","avatar_url":"https://github.com/qridwan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xNote Application Backend Service\n\n## Table of Contents\n\n1. [Introduction](#introduction)\n2. [Features](#features)\n3. [Installation](#installation)\n4. [Data Requirements](#data-requirements)\n   - [Users](#users)\n   - [Notes](#notes)\n   - [Categories](#categories)\n   - [Tags](#tags)\n   - [Attachments](#attachments)\n   - [Notebooks](#notebooks)\n   - [Trash](#trash)\n   - [Sharing](#sharing)\n   - [Permissions](#permissions)\n5. [Database E/R Design](#database-er-design)\n6. [Links](#links)\n\n---\n\n## Introduction\n\n**xNote** is a smart note-taking application that provides a digital platform for users to create, manage, and organize text-based notes. It enables users to efficiently capture, edit, categorize, and search for notes.\n\n---\n\n## Features\n\n- **User Registration and Login**\\\n  Secure account creation and login.\n- **Create and Edit Notes**\\\n  Ability to create, edit, and update text-based notes.\n- **Note Organization**\\\n  Organize notes into notebooks or folders with tags for better categorization.\n- **Attachments**\\\n  Attach files (e.g., images, documents) to notes.\n- **Trash and Recovery**\\\n  Deleted notes are moved to trash and can be recovered.\n- **Sharing**\\\n  Share notes with others, including collaborative editing and commenting.\n\n---\n\n## Installation\n\nTo install the xNote application backend service:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/qridwan/xNote-server.git\n   ```\n2. Navigate to the project directory:\n   ```bash\n   cd xNote-server\n   ```\n3. Install dependencies:\n   ```bash\n   yarn\n   ```\n4. Set up environment variables by creating a `.env` file using configurations from `.env.example`.\n5. Seed the database using the provided SQL file:\n   ```bash\n   \tsrc/database/qridwan_xnote.sql\n   ```\n6. Start the server:\n   ```bash\n   yarn dev\n   ```\n   ```bash\n   yarn dev\n   ```\n\n---\n\n## Data Requirements\n\n### Users\n\n| userID (PK) | username | email                                       | password  |\n| ----------- | -------- | ------------------------------------------- | --------- |\n| 101         | ridwan   | [mail@qridwan.com](mailto:mail@qridwan.com) | ridwan123 |\n| 102         | asad     | [mail@asad.com](mailto:mail@asad.com)       | asad123   |\n\n### Notes\n\n| noteID (PK) | userID (FK) | note_title | content  | created_at | updated_at |\n| ----------- | ----------- | ---------- | -------- | ---------- | ---------- |\n| 1           | 101         | title 1    | content1 | timezone   | timezone   |\n\n### Categories\n\n| categoryID (PK) | userID (FK) | category_name |\n| --------------- | ----------- | ------------- |\n| 1               | 101         | Work          |\n| 2               | 101         | Personal      |\n\n### Tags\n\n| tagID (PK) | userID (FK) | tag_name  |\n| ---------- | ----------- | --------- |\n| 1          | 101         | Important |\n| 2          | 101         | Travel    |\n\n### Attachments\n\n| attID (PK) | noteID (FK) | att_filename | att_filetype | att_file_path  |\n| ---------- | ----------- | ------------ | ------------ | -------------- |\n| 1          | 1           | note1        | png          | work/note1.png |\n\n### Notebooks\n\n| notebookID | userID | notebook_name | note_id |\n| ---------- | ------ | ------------- | ------- |\n| 1          | 101    | book1         | 2       |\n\n### Trash\n\n| trashID (PK) | userID (FK) | noteID (FK) | timestamp  |\n| ------------ | ----------- | ----------- | ---------- |\n| 1            | 101         | 2           | 12/08/2023 |\n\n### Sharing\n\n| sharingID (PK) | noteID (FK) | sharedUserID (FK) | permissionID (FK) |\n| -------------- | ----------- | ----------------- | ----------------- |\n| abc01          | 2           | 101               | 1                 |\n\n### Permissions\n\n| permissionID (PK) | permission_name |\n| ----------------- | --------------- |\n| 1                 | edit            |\n| 2                 | view            |\n| 3                 | comment         |\n\n---\n\n## Database E/R Design\n\n- **Entities:**\n  - User, Note, Category, Tag, Attachment, Notebook, Trash, Sharing, Permission\n- **Relationships:**\n  1. User (1) ------\u003c Note (Many)\n  2. User (Many) ------\u003c Category_Note \u003e------ (Many) Category\n  3. User (Many) ------\u003c Tag_Note \u003e------ (Many) Tag\n  4. Note (1) ------\u003c Attachment (Many)\n  5. User (Many) ------\u003c Notebook_Note \u003e------ (Many) Notebook\n  6. User (1) ------\u003c Trash (Many) ------\u003c Note (Many)\n  7. User (one) ------\u003c Sharing \u003e------ (Many) User\n  8. Note (Many) \u003e------ permission (One)\n\n---\n\n## Links\n\n- [**API Documentation**](https://documenter.getpostman.com/view/15074292/2s9YXfcimY#22177e0b-79c1-499f-ad21-a4e7deb0b6cf)\n\u003c!-- - [**LIVE Application**](https://xnote.qridwan.com) --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqridwan%2Fxnote-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqridwan%2Fxnote-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqridwan%2Fxnote-server/lists"}