{"id":20963967,"url":"https://github.com/giovannak/taskway","last_synced_at":"2025-12-30T21:19:32.117Z","repository":{"id":151272235,"uuid":"375896270","full_name":"GiovannaK/taskway","owner":"GiovannaK","description":"Taskway is a web application to manage tasks in real time using workspaces.","archived":false,"fork":false,"pushed_at":"2023-01-07T01:02:39.000Z","size":533,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T07:34:50.457Z","etag":null,"topics":["apollo-server","docker","graphql","jest","nodejs","postgresql","realtime","s3-bucket","sendgrid-api","sequelize","subscription"],"latest_commit_sha":null,"homepage":"https://taskway.tk","language":"HTML","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/GiovannaK.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":"2021-06-11T03:43:04.000Z","updated_at":"2023-01-07T01:03:20.000Z","dependencies_parsed_at":"2023-04-23T08:32:21.178Z","dependency_job_id":null,"html_url":"https://github.com/GiovannaK/taskway","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GiovannaK/taskway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovannaK%2Ftaskway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovannaK%2Ftaskway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovannaK%2Ftaskway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovannaK%2Ftaskway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GiovannaK","download_url":"https://codeload.github.com/GiovannaK/taskway/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiovannaK%2Ftaskway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278397955,"owners_count":25980085,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["apollo-server","docker","graphql","jest","nodejs","postgresql","realtime","s3-bucket","sendgrid-api","sequelize","subscription"],"created_at":"2024-11-19T02:49:12.165Z","updated_at":"2025-10-05T01:15:55.118Z","avatar_url":"https://github.com/GiovannaK.png","language":"HTML","readme":"# 📃 Taskway Server\n\n## See preview here: https://taskway.tk/\n## Client Repository: https://github.com/GiovannaK/taskway-client\n\n### Demo Credentials\n- E-MAIL: demo@cloud-mail.top\n- PASSWORD: taskway1\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#description\"\u003eDescription\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#Features\"\u003eFeatures\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#how-to-use\"\u003eHow to Use\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#author-info\"\u003eAuthor Info\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Description\n### Taskway is a web application to manage tasks in real time using workspaces.\n\n## Technologies\n\n### Back-end\n- PostgreSQL\n- Sequelize\n- GraphQL\n- Apollo Server\n- Express\n- Jest\n\n### Services\n\n- SendGrid to send email https://sendgrid.com/\n\n- S3 BUCKET for image and file upload\nhttps://aws.amazon.com/pt/\n\n---\n# Features\n\n## WORKSPACES\n\n- Users can create workspaces.\n\n- Users can add workspace members by email.\n\n- Envited users can see workspace to which they were invited appear in real time.\n\n- Only workspace owner can delete the workspace.\n\n- Tasks creation and editon are shown in real time to all workspace members\n\n## WORKSPACE MEMBERS\n\n- Only workspace owner can add or remove new members\n\n- When a workspace member is removed, all associated permissions are removed.\n\n## PERMISSION\n\n- Only workspace owners can assign permissions to workspace members, you can see the options below:\n\n- Workspace owner has all permissions below\n\n- Create Task\n\n- Update Task\n\n- Delete Task\n\n## TASK\n\n- Only users who have the create task permission, can create new tasks.\n\n- Tasks have the following fields:\n\n- Title\n- Description\n- Link (Optional)\n- File (Optional)\n- Time (Optional)\n- Assignment (Only workspace members)\n\n## TASK COMMENTS (Subscriptions)\n\n- It is possible to add comments to tasks\n\n- They are shown in real time\n\n## WORKSPACE CHAT (Subscriptions)\n- Chat room can be created optionally by workspace owner\n\n- All workspace members can participate\n\n### REGISTRATION\n\n### Users can register using email and password.\n\n### ACCOUNT ACTIVATION\n- When a user finish registration proccess, before login, the account must be activated. A short expiration token will be sent to the user's email.\n\n### LOGIN\n\n- It is possible to log in using e-mail and password, if account is not activated it will not be possible to login.\n\n### FORGOT PASSWORD\n\n- Users can recover access to the account by requesting a password change.\n- A short expiration token will be sent to the user's email with a link to the password reset form.\n\n### PROFILE\n\n- Users can change their personal data and add a profile picture\n\n---\n## ❗ How To Use\n\n### Run locally\n\n### Clone the project\n\n```html\ngit clone https://github.com/GiovannaK/taskway.git\n```\n### Assuming you already have NodeJS and npm installed and properly configured: Run the command below to install all required dependencies\n\n```html\nnpm install\n```\n### Creating Environment variables.\n\n- create a .env file in the root folder\n\n- Then add the following information and your credentials\n\n```html\nSENDGRID_API_KEY = your sendgrid API KEY\n\nEMAIL_HOST_USER = Your E-MAIL HOST to send emails to users\n\nTOKEN_SECRET = JWT TOKEN SECRET\n\nTOKEN_EXPIRATION = TOKEN EXPIRATION\n\nDB_HOST = Database host\nDB_USER = Database username\nDB_PASS = Database password\nDB_NAME = Database Name\nDB_PORT = Database Port\n\n# S3 BUCKET\nAWS_ACCESS_KEY_ID = AWS ACCESS KEY\n\nAWS_BUCKET_NAME = BUCKET NAME\n\nAWS_DEFAULT_REGION = BUCKET REGION\n\nAWS_SECRET_ACCESS_KEY = AWS SECRET\n\nREDIS_HOST = REDIS HOST FOR SUBSCRIPTIONS\nREDIS_PORT = REDIS PORT\n\nCLIENT_URL = CLIENT URL, YOU CAN GET HERE\nhttps://github.com/GiovannaK/taskway-client.git\n\nCOOKIE_SECURE = DEFINE TO FALSE IF YOU ARE IN LOCALHOST\n\nPORT = PORT TO RUN THE APPLICATION\n\n```\n\n### Environment variables for test\n\n### Please add a .env.test file in root folder and set your test environment.\n\n```html\nDB_DIALECT = sqlite\n\nSENDGRID_API_KEY = SENDGRID_API_KEY\nEMAIL_HOST_USER = Your E-MAIL HOST USER\nTOKEN_SECRET = YOUR TOKEN SECRET\nTOKEN_EXPIRATION = Token Expiration\n\nPORT = PORT TO RUN APPLICATION\n\nREDIS_HOST = REDIS HOST\nREDIS_PORT = REDIS PORT\n\nCLIENT_URL = Client URL\n\nCOOKIE_SECURE = Cookie Secure\n\n# S3 BUCKET\nAWS_ACCESS_KEY_ID = AWS ACCESS KEY\n\nAWS_BUCKET_NAME = BUCKET NAME\n\nAWS_DEFAULT_REGION = BUCKET REGION\n\nAWS_SECRET_ACCESS_KEY = AWS SECRET\n```\n\n### Disable Database SSL\n\n```html\n  src/config/config.js\n\n  add a comment to this snippet\n\n/*   dialectOptions: {\n    ssl: {\n      require: true,\n      rejectUnauthorized: false,\n    },\n  }, */\n\n```\n\n### Docker\n- Assuming you already have the docker installed and properly configured.\n\n```html\ndocker-compose up\n```\n### You may need these commands:\n\n- Stop it all running\n\n```html\ndocker-compose down\n```\n\n- In case you change something in docker-compose.yml\n\n```html\ndocker-compose build\n```\n\n- In case you need to build only one container\n\n```html\ndocker-compose build containername\n```\n---\n\n## 📌 License\n\nMIT License\n\nCopyright (c) [2020]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n---\n\n## Author Info\n\n- Linkedin - [Giovanna Cunha](https://www.linkedin.com/in/giovanna-kelli/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovannak%2Ftaskway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiovannak%2Ftaskway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiovannak%2Ftaskway/lists"}