jdmedlock / moitweets

Extract all public Tweets for a given Twitter screen name

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MoiTweets - Extract public Tweets for a given Twitter user

Table of Contents

Overview

Given a Twitter user name MoiTweets generates a local file containing a JSON representation of all available public Tweets for that individual. More information about the contents of this file can be found on the Twitter Developer site.

Tier 2 MoiTweets

Running MoiTweets

Since MoiTweets has both a frontend and a server component, both must be started in order for the application to operate correctly.

Starting the Client Locally

From a command line run the following:

cd client
npm run start

The client can be accessed from your browser at https://localhost:3000

Starting the Server Locally

From a command line run the following:

cd server
npm run start

The server listens at https://localhost:3001

Environment Variables

Environment variables are used to guard application secrets like the Twitter API keys. These are stored in the .env file in /server and are accessed using the dotenv library.

Environment variables are made available to the application code via process.env.<variable-name>. For example, the Twitter API key is accessed in the code by referencing process.env.TWITTER_API_KEY.

Remember that even though this keeps secure tokens like client id's and secrets out of application code it does not make them secure.

Environment Variable Description Example Setting
TWITTER_API_KEY API key from the Twitter App dashboard TWITTER_API_KEY=fG#Saa^&vWW1SLOpuuj0uX2G
TWITTER_API_SECRET API secret from the Twitter App dashboard TWITTER_API_SECRET=A8H3RNL.35UAJD26JEOKJMNDAD0.UDNLADMEMCI2UCNH5UF48KDMB3DD5NW

Dependencies

MoiTweets is built on top of the following libraries. For a complete list of dependencies consult the package.json file in the client and server directories in the app repo.

App Component Dependency Usage
client @material-ui Material UI UI/UX
file-saver HTML5 saveAs() FileSaver implementation
react Frontend Library
react-scripts React app setup (Create-React-App)
server dotenv Load environment variables from .env file
express HTTP server
netlify-lambda Netlify deployement
request Simplified HTTP request client
request-promise-native Shell supporting ES6 promises for request

Change Log

For more information see Change Log

Contributing

See Contributing and our Collaborator Guide.

Authors

Developers on this project can be found on the Contributors page of this repo.

License

GPL-3.0

About

Extract all public Tweets for a given Twitter screen name

License:GNU General Public License v3.0


Languages

Language:JavaScript 88.3%Language:HTML 7.8%Language:CSS 3.9%