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.
- API Documentation
- Key Features
- Technology Stack
- Dependencies
- Installation
- Tests
- Limitations
- How to contribute
- The Dev Team
- Licence
- FAQs
The documentation for the Postit API can be found [here.]
- 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]
- The client side implementation uese React, which helps ensure that the app updates in real time. You can interact with the hosted app [here.]
- Forgot your password? No problem. Users can request a password reset, and get a mail with reset instructions.
Teamwork uses the PERN (PostgreSql, Express, ReactJs, NodeJs) stack.
- Front-end implementation in REACT
- Styling with CSS
- Server-side implementation is built on NODE, with an EXPRESS server and POSTGRES DB.
- 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.
-
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.
- Uses ESLINT which was configured to use Airbnb-base rules for ensuring code quality.
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.
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.
Three kinds of tests have been included:
- API Server tests
- Client side tests for react implementation
Server side tests can be run on the command line with npm test
Client side tests can be run on the command line with npm run client-test
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.
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:
- Contain code written in ES6 for Javascript files.
- Lint and adhere to the Airbnb javascript style guide.
- Pass all tests.
Copyright © The MIT License
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.
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.
Yes it is.
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.
This project is a full stack Javascript application
See The MIT License for the permissions available to you.