Skip to content

An experimental Google AppEngine app using natural language processing to process user sentiment analysis on YouTube content and comments.

License

Notifications You must be signed in to change notification settings

robcharlwood/you-judge

Repository files navigation

YouJudge

Build Status Coverage Status

This project is intended for educational purposes only.

An experimental app using Google's Natural Language processing to process user sentiment analysis on YouTube content and comments.

Getting Started

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

  • Clone the repository git clone git@github.com:robcharlwood/you-judge.git
  • Create a virtualenv mkvirtualenv you-judge (I recommend using virtualenvwrapper)
  • Run ./install_deps to install Python requirements.

If you created your environment with virtualenvwrapper, then I suggest adding the below to your virtualenv's postactivate script so that you can always ensure you are working on the correct path when you activate your env.

In your choice of editor open the below file - example uses nano: nano /Users/foo/.virtualenvs/virtualenvname/bin/postactivate

Now ensure that you add the below

cd /path/to/where/code/lives/

Once you activate your environment, this code will move you to the project's code directory.

Running the project locally

  • To serve the backend, run ./serve.
  • Update the datastore Config model instance with your relevant API and Oauth client keys and secrets etc.

Running test suite

You can run the test suite using the below command.

./run_tests

You can also run individual test classes or tests using the spec syntax.

  • ./run_tests appname.tests.test_module
  • ./run_tests appname.tests.test_module:TestCaseClass
  • ./run_tests appname.tests.test_module:TestCaseClass.test_method

Cleaning the codebase with isort

You can clean the codebase using the ./clean_imports script

Suggested Deployment Process

To deploy the code to appengine follow the below steps

  • Merge master in to your feature branch git merge --no-ff master
  • Resolve any merge conflicts
  • Run tests ./run_tests
  • If all tests are passing, then checkout master and merge in your feature branch git checkout master && git merge --no-ff feature-branch-name
  • Update version in app.yaml
  • Update docs, release notes and README.md
  • Commit your changes locally.
  • Add a git tag for the new version e.g: git tag -a 0-0-1 -m"0-0-1 Initial MVP release"
  • Push changes to master branch - git push origin master
  • Run ./deploy and follow the prompts

Versioning

This project uses git for versioning. For the available versions, see the tags on this repository.

Code style

This project adheres to pep8 standards and we use isort to handle the sorting of imports. The Python code is all unit tested as a bare minimum with integration and end to end tests added for particularly complex parts of functionality.

Calling all Front end Engineers

This project is accepting pull requests on pretty much anything front end. I'm a backend Engineer by trade, and whilst I can make things look good, I can't do it as well as you lot can. :) Themes, JS, optimisations, progressive enhancement etc its all good! All PR's very, very welcome.

Authors

  • Rob Charlwood

License

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

Mwaaah!

About

An experimental Google AppEngine app using natural language processing to process user sentiment analysis on YouTube content and comments.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published