Giter Club home page Giter Club logo

mybadtweets's Introduction

The working mybadtweets logo

mybadtweets

mybadtweets is a web app that fetches your tweets, calculates the average amount of likes you get, and shows you all the tweets whose likes fall much below that average. It was made in the name of light-hearted self-deprecation.

Setup for Development

Clone the repo and cd into it.

git clone https://github.com/jmtes/mybadtweets.git
cd mybadtweets

Install the dependencies.

npm install

Set the port you want the app to listen to. In this example, port 3000 is used. Port 3000 is also the default port.

export MBT_PORT=3000

The environment variables MBT_CONSUMER_KEY and MBT_CONSUMER_SECRET need to be set to your Twitter API consumer key and secret. You need to register for a Twitter developer account and then create an app to be given these, which this page outlines how to do if you haven't already. Be sure to specify http://localhost:MBT_PORT/auth/redirect as a callback URL for your app, with MBT_PORT being the number you configured in the previous step. Then set the MBT_CALLBACK_URL variable.

export MBT_CONSUMER_KEY=yourAPIKey
export MBT_CONSUMER_SECRET=yourAPISecretKey
export MBT_CALLBACK_URL='/auth/redirect'

The app also needs to connect to a MongoDB Atlas cluster to run (refer to this page if you need to create one). Once you've created your cluster, visit the "Clusters" panel on the MongoDB homepage and click "Connect" in your cluster's listing. From there, click "Connect Your Application" and set the driver to Node.js with version 3.0 or later. Copy the connection string and set the MBT_DB_URI variable to it, making sure to put it in quotation marks lest errors ensue.

export MBT_DB_URI='yourDBURI'

Lastly, set your session secret. This can be anything you want but I'd recommend generating a random string.

export MBT_SESSION_SECRET=yourSessionSecret

Now you can build the app, start it, and open it in your browser!

npm run build
npm run start

The UI

Future Features

  • Quote-retweet functionality
  • Ability to jump to a specific tweet
  • Ability to specify amount of tweets to display
  • Image rendering
  • A tweet statistics panel
  • Toggle between mean messages, nice messages, and no messages
  • Toggle between slideshow, list, and grid views
  • Dark mode
  • Laugh track that plays with each tweet displayed as one progresses through the slidshow

Built With

Contributing and Future Developments

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

App development progress is being tracked here on Trello! Any issues opened will be added to the board.

Authors

  • Juno Tesoro is a frontend developer and certified bad tweeter. You can find them on Github, Linkedin, and, of course, Twitter.

Acknowledgements

mybadtweets's People

Contributors

dependabot[bot] avatar jmtes avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

narnat komerela

mybadtweets's Issues

Issue with sessioning

The app currently cannot support multiple users logged on at the same time. When that's the case, a user may be able to see, delete, and retweet others' tweets, which poses a security issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.