An experimental app using Google's Natural Language processing to process user sentiment analysis on YouTube content and comments.
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 [email protected]:robcharlwood/you-judge.git
- Create a virtualenv
mkvirtualenv you-judge
(I recommend usingvirtualenvwrapper
) - 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.
- To serve the backend, run
./serve
. - Update the datastore
Config
model instance with your relevant API and Oauth client keys and secrets etc.
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
You can clean the codebase using the ./clean_imports
script
To deploy the code to appengine follow the below steps
- Merge
master
in to your feature branchgit 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 branchgit 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
This project uses git for versioning. For the available versions, see the tags on this repository.
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.
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.
- Rob Charlwood
This project is licensed under the MIT License - see the LICENSE.md file for details