Skip to content
This repository has been archived by the owner on Apr 26, 2022. It is now read-only.
/ tidytweets Public archive

A Twitter companion app focused on privacy settings and organization.

License

Notifications You must be signed in to change notification settings

rlueder/tidytweets

Repository files navigation

MIT License

Tidy Tweets

Tidy up your Following list on Twitter.

TidyTweets analyses your Following list on Twitter telling you which accounts haven't been active in a specific time frame (one week, two weeks, one month, three months, six months and a year). You can then unfollow individual accounts, a few selected accounts or all at once.

"Awesome! What else does it do?". Well, that's it! At least for now. :)

tidytweets

Table of Contents

1. Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

1.1 Prerequisites

You'll need Node installed on your machine, the best way to install/manage Node versions is to use NVM.

  • NVM - manage multiple node.js versions

1.2 Installing

$ npm install

1.3 Running Locally

Requests sent directly to a Twitter API from a development environment will result in CORS errors, for that reason we use Netlify's functions to proxy API requests to Twitter.

NOTE You'll have to be a part of TidyTweet's team on Netlify for the Twitter proxy function to authenticate on your local environment. Open a Github issue to request access to the team or join our Slack channel.

To set up Netlify locally, run the following command:

$ npm install -g netlify-cli
$ ntl link

If you haven't logged into Netlify CLI yet (and assuming you already have a Netlify acct.) this will open a new browser window with the following message:

Netlify CLI is asking for permission to access Netlify on your behalf.

Click on Authorize; you'll then see a prompt on your terminal:

How do you want to link this folder to a site?

Choose Enter a site ID and paste TidyTweet's Netlify ID:

091de6ff-ebf8-455b-8e5b-db2571213ac1

You should then see a confirmation similar to the one below:

Directory Linked

Admin url: https://app.netlify.com/sites/tidytweets
Site url:  https://tidytweets.org

Now you can start the development server by running the command below:

$ ntl dev

The application will be available at http://localhost:8888

You can read more about Netlify CLI, Netlify Functions and CORS here:

2. Contributing

TidyTweets uses the Gitflow workflow branching model. To contribute features or bug fixes:

  1. fork the repo;

  2. create a new branch off the development branch with the name of your feature or bug fix (e.g. fix_reload_issue branch);

  3. once you're finished with your changes send a pull request from your branch.

Once your PR is approved your changes will be merged into the development branch and Netlify will deploy your changes to the development environment.

You can read more about Gitflow and Netlify branch deploys here:

3. Testing

Unit and integration tests use Jest, you can run the interactive test monitor with the following command:

$ npm test

End-to-end tests are setup on Cypress, you can run the application with the following command:

$ npm run cypress:open

You can read more about testing here:

4. Deployment

TidyTweets uses CircleCI as a deployment tool, commits to develop or main branches trigger a build which runs all tests and deploys to prod in case of a commit to main.

You can read more about Netlify site deploys and SemVer here:

5. Built With

  • create-react-app - create React apps with no build configuration.

  • date-fns - modern JavaScript date utility library.

  • netlify-cli - interact with Netlify from the comfort of your CLI.

  • react-intl - internationalize your web apps on the client & server.

  • react-router - declarative routing for React.

  • twitter-lite - a tiny, full-featured, flexible client / server library for the Twitter API.

6. Credits and Community

This project exists thanks to all the people who contribute.

You can reach out to us directly by joining TidyTweets on Slack.

7. Donations

TidyTweets is free and open-source software, if you find it useful consider buying me a coffee. Thanks!

8. License

This project is licensed under the MIT License - see the LICENSE file for details.