See preview here: https://taskway.tk/
Client Repository: https://github.com/GiovannaK/taskway-client
- E-MAIL: [email protected]
- PASSWORD: taskway1
Description | Features | How to Use | License | Author Info
- PostgreSQL
- Sequelize
- GraphQL
- Apollo Server
- Express
- Jest
-
SendGrid to send email https://sendgrid.com/
-
S3 BUCKET for image and file upload https://aws.amazon.com/pt/
-
Users can create workspaces.
-
Users can add workspace members by email.
-
Envited users can see workspace to which they were invited appear in real time.
-
Only workspace owner can delete the workspace.
-
Tasks creation and editon are shown in real time to all workspace members
-
Only workspace owner can add or remove new members
-
When a workspace member is removed, all associated permissions are removed.
-
Only workspace owners can assign permissions to workspace members, you can see the options below:
-
Workspace owner has all permissions below
-
Create Task
-
Update Task
-
Delete Task
-
Only users who have the create task permission, can create new tasks.
-
Tasks have the following fields:
-
Title
-
Description
-
Link (Optional)
-
File (Optional)
-
Time (Optional)
-
Assignment (Only workspace members)
-
It is possible to add comments to tasks
-
They are shown in real time
-
Chat room can be created optionally by workspace owner
-
All workspace members can participate
- 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.
- It is possible to log in using e-mail and password, if account is not activated it will not be possible to login.
- Users can recover access to the account by requesting a password change.
- A short expiration token will be sent to the user's email with a link to the password reset form.
- Users can change their personal data and add a profile picture
git clone https://github.com/GiovannaK/taskway.git
Assuming you already have NodeJS and npm installed and properly configured: Run the command below to install all required dependencies
npm install
-
create a .env file in the root folder
-
Then add the following information and your credentials
SENDGRID_API_KEY = your sendgrid API KEY
EMAIL_HOST_USER = Your E-MAIL HOST to send emails to users
TOKEN_SECRET = JWT TOKEN SECRET
TOKEN_EXPIRATION = TOKEN EXPIRATION
DB_HOST = Database host
DB_USER = Database username
DB_PASS = Database password
DB_NAME = Database Name
DB_PORT = Database Port
# S3 BUCKET
AWS_ACCESS_KEY_ID = AWS ACCESS KEY
AWS_BUCKET_NAME = BUCKET NAME
AWS_DEFAULT_REGION = BUCKET REGION
AWS_SECRET_ACCESS_KEY = AWS SECRET
REDIS_HOST = REDIS HOST FOR SUBSCRIPTIONS
REDIS_PORT = REDIS PORT
CLIENT_URL = CLIENT URL, YOU CAN GET HERE
https://github.com/GiovannaK/taskway-client.git
COOKIE_SECURE = DEFINE TO FALSE IF YOU ARE IN LOCALHOST
PORT = PORT TO RUN THE APPLICATION
DB_DIALECT = sqlite
SENDGRID_API_KEY = SENDGRID_API_KEY
EMAIL_HOST_USER = Your E-MAIL HOST USER
TOKEN_SECRET = YOUR TOKEN SECRET
TOKEN_EXPIRATION = Token Expiration
PORT = PORT TO RUN APPLICATION
REDIS_HOST = REDIS HOST
REDIS_PORT = REDIS PORT
CLIENT_URL = Client URL
COOKIE_SECURE = Cookie Secure
# S3 BUCKET
AWS_ACCESS_KEY_ID = AWS ACCESS KEY
AWS_BUCKET_NAME = BUCKET NAME
AWS_DEFAULT_REGION = BUCKET REGION
AWS_SECRET_ACCESS_KEY = AWS SECRET
src/config/config.js
add a comment to this snippet
/* dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false,
},
}, */
- Assuming you already have the docker installed and properly configured.
docker-compose up
- Stop it all running
docker-compose down
- In case you change something in docker-compose.yml
docker-compose build
- In case you need to build only one container
docker-compose build containername
MIT License
Copyright (c) [2020]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Linkedin - Giovanna Cunha