kuicpet / Teamwork

Teamwork is an internal social network for employees of an organization. The goal of this application is to facilitate more interaction between colleagues and promote team bonding.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coverage Status License

Teamwork

Teamwork is an internal social network for employees of an organization. The goal of this application is to facilitate more interaction between colleagues and promote team bonding.

Table of Contents

API Documentation

The documentation for the Postit API can be found [here.]

Key Features

Users
Authentication
  • Teamwork uses JWT for authentication.
  • On successfull sign up or sign in, the user receives a token in the OAuth header which can be used to authenticate requests to protected endpoints. For a list of endpoints that are protected and those that are not, see our [documentation]
Real time updates
  • The client side implementation uese React, which helps ensure that the app updates in real time. You can interact with the hosted app [here.]
Password recovery
  • Forgot your password? No problem. Users can request a password reset, and get a mail with reset instructions.

Technology Stack

Teamwork uses the PERN (PostgreSql, Express, ReactJs, NodeJs) stack.

Client Side:

  • Front-end implementation in REACT
  • Styling with CSS

Server Side:

  • Server-side implementation is built on NODE, with an EXPRESS server and POSTGRES DB.

Authentication and Code Base Organization

  • Written in ES6 (ECMAScript 2015)
  • BABEL transpiler ##### Email Notifications
  • Users get email notifications when an urgent or a critical message is posted by other members in groups to which they belong.
Email Notifications
  • Users get email notifications when an urgent or a critical message is posted by other members in groups to which they belong.

  • Json Web Tokens (JWT) for authentication.

Code Quality

  • Uses ESLINT which was configured to use Airbnb-base rules for ensuring code quality.

Dependencies

To use Teamwork, you would need:

  • NodeJS - a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • PostgreSQL - a popular object-relational database management system (ORDBMS).
  • Other dependencies are listed in the package.json and should be installed with npm install on the command line.
  • Environment variables defined in a .env file. You can find a .sample.env file in the repository root to guide you on setting up your .env file.

Installation

To get started,

  • Clone this repository to your local machine using https://github.com/kuicpet/Teamwork.git
  • Navigate to the root of the cloned local repository.
  • Create a file named .env using the .sample.env file - located on the repository root folder - as a guide.
  • Run npm install to install the dependencies.
  • Run npm start to run the application.

Tests

Three kinds of tests have been included:

  • API Server tests
  • Client side tests for react implementation
Server tests

Server side tests can be run on the command line with npm test

Client tests

Client side tests can be run on the command line with npm run client-test

Unit tests

End-to-End tests can be run on the command line with npm run e2e-test. For this to work however, you would need to:

  • create a bin folder in the root of your branch,
  • start the api server (on e2e mode) on a separate terminal with npm run .
  • Run the End-to-End tests can be run on the command line with npm run

If you discover a bug while testing or using app, please create an issue to report it. That is a way to contribute to the development of Postit.

How to Contribute

Interested in the development of Teamwork? Awesome! You can check out the Issues page, and if you find something you want to work on, let us know in the comments.

Pull Requests should:

The Dev. Team

Licence

Copyright © The MIT License

FAQs

What is Teamwork?

Teamwork is an internal social network for employees of an organization. The goal of this application is to facilitate more interaction between colleagues and promote team bonding.

How do I use it?

You can signup for an account on https://postit-ray.herokuapp.com to use the client side implementation built on the API. If you are a developer and wish to use the API, see the documentation to learn how to start and what endpoints are available.

Is Teamwork an Open-Source Application?

Yes it is.

Who can contribute?

Anyone! To contribute, simply raise a PR with your contribution. Only PRs that meet the standard would be considered. For more details on PR conventions for the Postit project, see the How to contribute section of this README, and the wiki for this repository.

What language was used to develop this application?

This project is a full stack Javascript application

Am I permitted to clone this project for personal use?

See The MIT License for the permissions available to you.

About

Teamwork is an internal social network for employees of an organization. The goal of this application is to facilitate more interaction between colleagues and promote team bonding.

License:MIT License


Languages

Language:JavaScript 96.8%Language:TSQL 3.2%