HackerForce
is a tool created to help hackathon organizers manage their sponsorship leads and keep track of contacts, emails and more. Every year hackathon organizers need to contact hundreds of contacts who work at hundreds of companies to request sponsorship. The process for this usually involves various rounds of customized emails to various groupings of companies. This tool aims to create a user friendly interface to see the status of various companies, store the details of certain contacts and overall manage the information required for hackathon sponsorship.
Many aspects of the application are similar to the CRM tool known as SalesForce and the project idea can be simply summed up as a subset of SalesForce features that is open-source and extensible for use by hackathon organizers or anyone else who desires an open-source, free CRM tool.
For set up see below. For more documentation, see the wiki.
- Install Docker on your machine. For non-Linux hosts, open the Docker application as well.
- Build:
$ ./docker-build.sh
- Runserver:
$ ./docker-run.sh
- Shell:
$ ./docker-shell.sh
- Log in as
admin
admin
. You should be able to navigate through the application and interact with dummy data!
These instructions shouldn't be necessary, as Docker is the preferred setup.
# Anaconda comes with python3.6, so using the latest Anaconda distro will also work in place of pyenv
# MacOS
brew install pyenv
# Linux
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# install python3.6
pyenv install 3.6.6
# install pipenv
pip install --user pipenv
pip install django-heroku django-bootstrap4 django-tabler django-widget-tweaks phonenumbers django-phonenumber-field faker django-extensions django-ckeditor django-multiselectfield
git clone https://github.com/hackumass/hackerforce.git && cd hackerforce
pipenv install
pipenv shell
init.sh
# Or on windows
init.bat
Make sure you run the following commands if you do any of the following:
- Edit a model (ie. change the database schema)
- This includes any changes you make including: adding a field, removing a field, and renaming a field
- Delete a model
- Add a model
init.sh # deletes db.sqlite3
# Or on windows
init.bat # deletes db.sqlite3
# For all platforms
python manage.py runserver
It should be noted that the above commands will delete your developement database! Only run it in a dev environment and remember that any objects you've created for development purposes will be deleted!
Install heroku-cli if you don't have it
# linux
curl https://cli-assets.heroku.com/install.sh | sh
# mac
brew install heroku/brew/heroku
Deploy
heroku create
git push heroku master
heroku run python manage.py migrate