{"id":18165679,"url":"https://github.com/kenec/postit","last_synced_at":"2025-10-05T21:47:10.809Z","repository":{"id":118053079,"uuid":"96096018","full_name":"Kenec/PostIt","owner":"Kenec","description":"A simple application that let logged in users post messages to the groups belonged to","archived":false,"fork":false,"pushed_at":"2018-03-24T11:57:41.000Z","size":53104,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T06:19:38.188Z","etag":null,"topics":["groups","heroku","messages","postit","priority","priority-level","reducer","search","sequelize-cli"],"latest_commit_sha":null,"homepage":"https://postit-lite.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kenec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-07-03T09:47:28.000Z","updated_at":"2018-03-24T11:57:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"a7d95efd-4273-4e2e-8f9c-f20ca09fe589","html_url":"https://github.com/Kenec/PostIt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Kenec/PostIt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kenec%2FPostIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kenec%2FPostIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kenec%2FPostIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kenec%2FPostIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kenec","download_url":"https://codeload.github.com/Kenec/PostIt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kenec%2FPostIt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278526244,"owners_count":26001325,"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-05T02:00:06.059Z","response_time":54,"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":["groups","heroku","messages","postit","priority","priority-level","reducer","search","sequelize-cli"],"created_at":"2024-11-02T12:08:22.023Z","updated_at":"2025-10-05T21:47:10.790Z","avatar_url":"https://github.com/Kenec.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.org/Kenec/PostIt.svg?branch=master)](https://travis-ci.org/Kenec/PostIt)\n[![Coverage Status](https://coveralls.io/repos/github/Kenec/PostIt/badge.svg?branch=master)](https://coveralls.io/github/Kenec/PostIt?branch=master)\n[![Code Climate](https://codeclimate.com/github/Kenec/PostIt/badges/gpa.svg)](https://codeclimate.com/github/Kenec/PostIt)\n\n# PostIt\n\nPostIt is an application that allows an authenticated user create a broadcast group and add members to that group for notifications. \n\nFeatures:\n- User can signup and signin to the application\n- User can create a new group and be added to other groups\n- User can post messages to groups belonged to\n- Messages have priority of `Normal`, `Urgent`, `Critical`\n- User will receive notifications for messages posted to the groups belonged to \n- Notification can be in-app notification, email and/or SMS based on the message priority\n\n\n### API Documentation\nThe Documentation for the PostIt Restful API: \n[PostIt Restful API Documentation](https://app.swaggerhub.com/apis/Kenec/PostIt/1.0.0)\n\n## TECHNOLOGIES\n#### Client Side: \nThe frontend was implemented using:\n * [React](https://reactjs.org/) A JavaScript library for building user interfaces\n * [Redux](https://redux.js.org/) Redux is a predictable state container for JavaScript apps.\n * [Bootstrap](http://getbootstrap.com/) Build responsive, mobile-first projects on the web.\n \n#### Backend\nThe Backend was implemented using: \n * [Node](https://nodejs.org/en/) Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine\n * [Express](https://expressjs.com/) Express is a minimal and flexible Node.js web application framework \n * [Sequelize](http://docs.sequelizejs.com/) Sequelize is a promise-based ORM for Node.js v4 and up. It supports the dialects PostgreSQL, MySQL, SQLite and MSSQL\n * [Postgres](https://www.postgresql.org/) A powerful, open source object-relational database system.\n\n### INSTALLATION\n  * install [Node js](https://nodejs.org/en/) and [Postgress](https://www.postgresql.org/)\n  * Clone the repository `git clone https://github.com/Kenec/PostIt.git`\n  * Navigate to the location in your terminal\n  * Run $ npm install to install dependencies\n  * Setup Postgres, create a database postit and set it to port 5000 [Setup postgress](http://certek.com/kb4/install-server-postgresql-and-pgadmin-on-windows/)\n  * Install sequelize-cli, Run $ npm install -g sequelize-cli (note: sudo install on ubuntu or MAC)\n  * In terminal run $ sequelize db:migrate\n  * Create a .env file in your root directory and follow the pattern in the [.env.sample](https://github.com/Kenec/PostIt/blob/master/sample%20env%20file) file to create environmental variables\n  * Run $ npm start to get the app started on your local machine\n  \n## TESTING\n#### Client side:\nTo run tests for the client side:\n* Naviagate to the project location in your terminal\n* Run `jest -u`\n#### Server side\nTo run tests for the server side\n* Navigate to the project location in your terminal\n* Run `npm run test`\n\n### Contributing\n1. Fork this [repository](https://github.com/Kenec/PostIt.git) \n2. Clone to your local environment: `https://github.com/Kenec/PostIt.git`\n3. Create your feature branch: `git checkout -b my-new-feature`\n4. Commit your changes: `git commit -am 'Add some feature'`\n5. Write test for the new features\n6. Push to the branch: `git push origin my-new-feature`\n7. Submit a pull request against the `staging` branch\n\n## Limitations\n* Different users cannot create a group with the same name\n* Users cannot delete the groups they created\n* A user cannot join a group unless added to by another user\n* When a user is added to a group, he/she cannot remove him/her self from the group unless by the group Admin\n* Message cannot be edited or deleted\n\n## FAQ\n* Is this project an open source?\n   * Yes it is\n* Can I use this app for commercial purpose\n   * This project is license under the MIT licence, hence it can use it for commercial purpose\n* How do I test the online version of the project\n   * Create account on the [online version](https://postit-lite.herokuapp.com/) of the app so that you can have access to the app\n* When I am logged in to the app, can I create my own group\n   * Yes you can\n* How do I add people to the group\n   * Select on any group from the dashboard, then enter the username of a user you want to add to the group on the search box by the right. Then click `Add`\n* Can I remove a user from the group I created\n   * Yes\n* Can I remove a user from the group I did not create\n   * No. Only the group admin can remove a user\n* Can I change my password\n   * Yes you can.\n       - Enter your email address in the `/forgotPassword` page,\n       - An email containing the reset password URL will be sent to your email address\n       - Click on the `RESET PASSWORD` button to reset password\n       - Enter your new password and confirm password\n       - Click change password button and your password will reset\n\n## ISSUES\nTo report an issue or give feedback, Click link\n[Issues and Feedback](https://github.com/Kenec/PostIt/issues)\n\n## Authors\n* Nnamani Kenechukwu Charles\n\n## Licence \n[MIT License](https://github.com/Kenec/PostIt/blob/master/LICENSE)\n\n## Acknowledgments\n* Andela Talent Accelerator Team\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenec%2Fpostit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkenec%2Fpostit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenec%2Fpostit/lists"}