Skip to content

sofiyaca/depiktor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

depiktor

depiktor is a full-stack SPA, which keeps you on top of technology trends via the Twitter API. Using the technologies listed in the 2020 StackOverflow Developer Survey, Depiktor queries Twitter for the number of mentions of those technologies every hour and saves the count to display it interactively.

You can find the live version here.

Preview

preview of depiktor

Design Doc

Available here.

Tech Stack

Front End

ChartJS React CSS

Back End

Express Sequelize PostgreSQL NodeJS

Requirements

  • Twitter Developer Account [not required with mock data]
  • Registered Twitter app [not required with mock data]
  • Node, npm, and PostgreSQL

Installation

  • Download a copy of the repository on your machine.
  • In your running PostgreSQL instance:
  • Create a DB with the name depiktor_dev
  • Seed the DB by running node create_technologies.js
  • Run npm install in the client and server folders.

Configuration

  • Create a .env file in the server folder like this:

TWITTER_CONSUMER_KEY=YOUR_TWITTER_CONSUMER_KEY

TWITTER_CONSUMER_SECRET=YOUR_TWITTER_CONSUMER_SECRET

PG_DATABASE_USER=YOUR_PG_DATABASE_USER

Usage

Collect your own data

  • Run node background_worker.js, the DB will be populated with data every hour.
  • In the server folder run node start.
  • In the client/src folder run npm start.
  • View the results in the browser. 📈

Use with mock data

  • Navigate to client/src/services/ApiClient.jsx.
  • Follow the instructions to load mock data.

Roadmap

  • Have two background workers populating one half of the DB to avoid going over the Twitter API limit.
  • Refactor controller.js into a controller.js and a view.js to separate concerns.
  • User can create a new tab and input their own search terms.
  • User view their custom search terms when logged into their profile.
  • Add a test suite.
  • Mobile friendly.
  • Make available offline via PWA.
  • Train an NLP model to detect technologies in their correct context. Discard mentions of, for example, 'Angular' when they are not in the context of the Angular framework.

Contributing

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

License

MIT

About

depiktor keeps you on top of tech trends by querying the Twitter API for mentions of those technologies and interactively displays them.

Topics

Resources

License

Stars

Watchers

Forks

Contributors