Initially this project was supposed to be a Hypefury clone, but as many of the features ended up being available on Twitter Web (scheduling for instance) I decided to focus on the one true feature I always use, which is tweet deletion.
This is the first app I release after embarking on the self-taught coding journey.
Note: Twitter API v1.1 will be deprecated in the few upcoming months, with the switch to v2 there will be a limit on the number of delete requests sent (50 requests / 15 min) rendering the app not as useful.
With Twiginity, you can:
- Delete the 3200 most recent tweets (API limitation)
- Delete tweets older than a certain date
- Delete only tweets containing a certain keyword
- Delete all your account's tweets if you provide your tweets.js file
Once you clone this repo, make sure your PWD is set to the project's root folder then run the following command to install all the dependencies inside the client
and server
folders as well as to build a production version of the React frontend and store it somewhere in the server
folder.
npm run heroku-postbuild
Before running this project, you will need to add the following environment variables to your .env file
API_KEY
: Your Twitter app's API keyAPI_SECRET_KEY
: Your Twitter app's API secret keyPORT
: the port number you want to assign to TwiginityMONGODB_URL
: the URL containing your login and password to access the databaseCOOKIE_KEYS
: an array of two strings or more to sign the cookiesENCRYPTION_KEY
: a key or passphrase used by Passport.js to encrypt your credentials before storing them in the databaseREDIS_PASSWORD
: Redis databse passwordREDIS_URL
: Redis database public urlREDIS_PORT
: Redis database public url
You can create a Redis database for free by creating an account either on Northflank or Redis.
Store the resulting .env
file in the root of the server
directory.
Make sure you're inside the project root folder then run
npm start
or
npm run watch
if you wish to bring some changes to the project and want nodemon to restart your server after these changes are saved.
if you ever get SSL errors, make sure to run your browser with SSL checks disabled.
Hopefully by now, you should be able to open Twiginity on http://127.00.1:WhateverPortYouChose
.
But to login with Twitter and use the app, you need to first add your localhost URL to your Twitter app. More about Callback URLs here.
Your URL should look like this http://127.0.0.1:WhateverPortYouChose/auth/twitter/redirect