GithubHelp home page GithubHelp logo

tchigher / gettogether Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gettogethercomm/gettogether

0.0 0.0 0.0 4.56 MB

Event manager for local community events

Home Page: https://gettogether.community

License: BSD 2-Clause "Simplified" License

Python 65.41% HTML 24.38% CSS 1.81% JavaScript 8.34% Dockerfile 0.06%

gettogether's Introduction

Get Together

Build Status

Get Together is an open source event manager for local communities.

Try it free at https://gettogether.community

Goals

  • Be feature-competitive with Meetup.com
  • Allow multiple instances to share federated event data
  • Provide sustainable, cost-effective hosting for FOSS communites
  • Be developed and maintained by the communities using it

Getting Started

To start running the service use the following commands:

virtualenv --python=python3 ./env
./env/bin/pip install -r requirements.txt
./env/bin/python manage.py migrate
./env/bin/python manage.py createsuperuser
./env/bin/python manage.py runserver

Installing pre-commit hooks

Pre-commit is a tools that helps us commiting better code. Before writing any code first install the hooks to your repo using:

./env/bin/pre-commit install

From now on everytime you commit some code this will be checked by our pre-commit hooks.

On the first commit after installing Black and iSort it will create a new environment, which may take a few minutes. This environment will be reused for all subsequent commits.

Code formatters

Loading City data

In order to make it easier to create Places and Teams without having to manually enter records for Country, SPR (State/Province/Region) and City, you can preload them using data files from http://download.geonames.org/export/dump/

The provided load_spr and load_cities commands will only load data if the parent country (or SPR for cities) exists in the database. This lets you choose whether you want to load every city, only cities for select countries, or only for select SPRs.

Countries

Download the countryInfo.txt file from GeoNames, then run:

./env/bin/python manage.py load_countries countryInfo.txt

SPR

Download the admin1CodesASCII.txt file from GeoNames, then run:

./env/bin/python manage.py load_spr admin1CodesASCII.txt

Cities

You have a few choices for City data files. GeoNames provides data files for cities with more than 15,000 residents, cities with more than 5,000 residents, and cities with more than 1,000 residents. The smaller the number, the more cities there will be in the data file (and the longer it will take to import them all).

Download the file you want from the links above. They will be zip files that you must unzip before using. Then import the cities by running (for your downloaded file):

./env/bin/python manage.py load_cities cities15000.txt

Using docker

docker build -t get_together .
docker run -e "DEBUG_MODE=True" -e "SECRET_KEY=xxxxx" -e "ALLOWED_HOSTS=localhost,127.0.0.1" -d --name get_together -p 8000:8000 get_together
docker exec -it get_together venv/bin/python manage.py createsuperuser

Using docker-compose

docker-compose up -d
docker-compose exec get_together python3 manage.py createsuperuser

You can then connect to the container by going to localhost:8000

Test Federation

You can import live event data into your "Searchable" table with this command:

./env/bin/python manage.py import https://gettogether.community/searchables/

Getting Involved

To contribute to Get Together, you can file issues here on GitHub, work on features you want it to have, or contact us on Telegram to learn more.

Currently the project needs:

  • Designers
    • We need a color scheme for the website
    • We need a logo for the project
    • We need user stories and mockups for those pages
  • Front-end developers
    • We need to pick a JS/CSS framework for the front-end
    • We need to Django page templates
    • We need to know what APIs are needed for a dynamic front-end
  • QA Engineers
    • We need Django test cases setup
    • We need fuzz-testing setup with something like model-mommy
    • We want testing automated on github pull requests
  • API/Federation experts
    • We need to decide on using AppStream or rolling our own data/protocol
    • We need to architect what data will be federated and it's use cases
    • We need to support authenticated access to APIs for 3rd party apps
  • Devops
    • We need a way to easily deploy and update GetTogether in production
    • We need an easy way to get a development environment up and running
    • We need to find a hosting service for gettogether.community

If you can help with any of these, please get in touch with me!

gettogether's People

Contributors

mhall119 avatar bheesham avatar gekitsuu avatar craigmaloney avatar femilamptey avatar saitejavemula avatar 0xbeeb avatar pixelbrackets avatar singingwolfboy avatar crashsystems avatar michael-k avatar stuartlangridge avatar srikanthkanjarla avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.