PostIt is modern web application that allows users to create groups and send and receive broadcast messages from their groups
PostIt is built with Javascript (ES6), ReactJs , Redux, NodeJs
-
Install
node
, version 5 or greater -
Install
postgres
-
Clone the repo and cd into it
git clone https://github.com/nebanat/postit-aaron.git cd postit-aaron
-
Install all dependencies
npm install
-
Configure Postgres
configure your database settings for development and test in `./server/config/config.json`
-
Run database migrations
$ sequelize db:migrate
-
Start the app
npm start
-
Open running application
http://localhost:3000/
- Create an account with username,email and password.
- Login with you new details(username,password).
- Create a new group.
- Post messages to groups you belong to.
- Add a users(friends) to groups you created or belong to.
- Retrieve list of messages in groups that you belong to.
- View Group Members
- Reset Password (In case you forget password)
The app uses:
Mocha/Chai
andChai-Http
for backend testing.Enzyme
andJest
for frontend testingNightWatch
for End-2-End testing
npm test
- to run test for backendnpm run client:test
- to run test for frontendnpm run e2e-test
- to run e2e test
- NodeJS - A Javascript runtime built on chrome V8 engine that uses an event-driven non-blocking I/O model that makes it lightweight and efficient.
- ExpressJS - A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- PostgreSQL - A powerful, open source object-relational database system.
- Sequelize - An ORM for Node.js that supports the dialects of PostgreSQL and features solid transaction support an relations.
- ReactJS - A JavaScript library for building user interfaces by Facebook.
- Redux - A predictable state container for JavaScript apps.
- MaterializeCSS - A CSS framework supported by Google.
If you are interested in contributing to development of PostIt-Application,
Follow the instructions below to contribute.
-
Fork the repository
-
Make your change
-
Commit your change to your forked repository
-
Provide a detailed commit description
-
Raise a pull request against the develop branch
-
Please see Project wiki for project conventions
Click Here to view our detailed API documentation
Anyone can! Just follow the contribution guidelines above
Yes please check the project wiki for project conventions.
Yes!. This application is licensed under MIT, and is open for
everybody