0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-22 08:40:03 +01:00
🦔 PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host.
Go to file
2020-02-08 11:45:38 -08:00
bin Preview docker image 2020-02-08 11:06:46 -08:00
frontend Preview docker image 2020-02-08 11:06:46 -08:00
posthog Preview docker image 2020-02-08 11:06:46 -08:00
staticfiles Fix settings 2020-01-24 16:22:12 -08:00
.dockerignore Preview docker image 2020-02-08 11:06:46 -08:00
.gitignore
app.json Events frontend 2020-01-24 15:57:57 -08:00
docker-compose.yml Add docker files 2020-02-05 09:51:41 -08:00
Dockerfile Optimize dockerfile for size 2020-02-08 11:45:38 -08:00
manage.py
mypy.ini Move api stuff around 2020-01-24 11:00:25 -08:00
package.json Add actions trends graph 2020-02-01 22:40:38 -08:00
Procfile Procfile move 2020-01-23 15:19:11 -08:00
README.md Update README.md 2020-01-26 23:32:22 -08:00
requirements.txt Preview docker image 2020-02-08 11:06:46 -08:00
yarn.lock Add actions trends graph 2020-02-01 22:40:38 -08:00

Posthog

Running backend (Django)

  1. Make sure you have python 3 installed python3 --version
  2. Make sure you have postgres installed brew install postgres
  3. Start postgres, run brew services start postgresql
  4. Create Database createdb posthog
  5. Navigate into the correct folder cd posthog
  6. Run python3 -m venv env (creates virtual environment in current direction called 'env')
  7. Run source env/bin/activate (activates virtual environment)
  8. Run pip install -r requirements.txt. If you have problems with this step (TLS/SSL error), then run ~ brew update && brew upgrade followed by python3 -m pip install --upgrade pip, then retry the requirements.txt install.
  9. Run migrations python manage.py migrate
  10. Run python manage.py createsuperuser
  11. Create a username, email and password
  12. Run python manage.py runserver
  13. If you get an error on loading https://127.0.0.1:8000 (which Chrome will default to) - "you're accessing the dev server over HTTPS, but it only supports HTTP", then go to settings.py and set SECURE_SSL_REDIRECT = False

Running tests

bin/tests

Running frontend (React)

If at any point, you get "command not found: nvm", you need to install nvm, then use that to install node.

  1. Make sure you are running Django above in a separate terminal
  2. Go to the frontend directory, cd frontend
  3. Run yarn install
  4. Now run bin/start-frontend

Pulling production database locally

bin/pull_production_db

Create a new branch

If you are working on some changes, please create a new branch, submit it to github ask for approval and when it gets approved it should automatically ship to Heroku

  • Before writing anything run git pull origin master
  • Then create your branch git checkout -b %your_branch_name% call your branch something that represents what you're planning to do
  • When you're finished add your changes git add .
  • And commit with a message git commit -m "%your feature description%"
  • When pushing to github make sure you push your branch name and not master!!

Deployment to Heroku

  • git push origin %branch_name% (sends it to Github) - DO NOT use git push heroku master
  • Be very careful running migrations by testing if they work locally first (ie run makemigrations, migrate, runserver locally when you've made database changes)
  • James or Tim will approve your change, and will deploy it to master