Git Product home page Git Product logo

portal's Introduction

Systers Portal Build Status Coverage Status

Systers Portal is for Systers communities to post and share information within and with other communities.

Website: http://portal.systers.org

Project page: http://systers.github.io/portal/

If you are an Outreachy Applicant, start with reading this for meetup features, please go through this.

Setup for developers

  1. Make sure you have installed Python 3.4 (preferably latest minor release), pip and virtualenv.
  2. If working behind a proxy, make sure your environment variables are properly set up. If you still get an error due to proxy, use "-E" flag along with "sudo" to export all the environment variables.
  3. Make sure you have python3-dev installed on your operating system. For Debian, you would additionally require libpq-dev. Install by using sudo apt-get install libpq-dev python3-dev
  4. Make sure you have PostgreSQL installed. For a tutorial on installing Postgres, Django Girls' ebook, Tutorials Extension, is a reference. The info is also on Django Girls GitHub repository.
  5. Clone the repo - git clone [email protected]:systers/portal.git and cd into the portal directory. If working behind a proxy, follow the instructions here.
  6. Create a virtual environment with Python 3 and install dependencies:
$ virtualenv venv --python=/path/to/python3
$ source venv/bin/activate
$ pip install -r requirements/dev.txt
  1. Create systersdb database, where systersdb might be any suitable name.
  2. Fill in the database details in systers_portal/settings/dev.py.
  3. Run export SECRET_KEY=foobarbaz in your terminal, ideally the secret key should be 40 characters long, unique and unpredictable. Optionally to set the shell variable every time you activate the virtualenv, edit venv/bin/activate and add to the bottom the export statement.
  4. Run python systers_portal/manage.py migrate.
  5. Run python systers_portal/manage.py cities_light for downloading and importing data for django-cities-light.
  6. Run python systers_portal/manage.py createsuperuser to create a superuser for the admin panel. Fill in the details asked.
  7. Run python systers_portal/manage.py runserver to start the development server. When in testing or production, feed the respective settings file from the command line, e.g. for testing python systers_portal/manage.py runserver --settings=systers_portal.settings.testing.
  8. Before commiting run flake8 systers_portal and fix PEP8 warnings.
  9. Run python systers_portal/manage.py test --settings=systers_portal.settings.testing to run all the tests.

If you face some issues while installing and making Portal up in your local, have a look at issues labelled as While Setting up Portal.

Run Portal in a Docker container

If you wish to view a sneak peek of the Systers Portal, you may use Docker to preview the Portal. Note: The following Docker configuration is not intended to be run in production at the moment. It may be configured to do so in the future.

  1. Install Docker. Follow the installation steps for your specific operating system:
    • Docker runs natively on a Linux-based system.
    • For Windows and Mac OS X, you should follow instructions for installing boot2docker which also installs VirtualBox.
  2. Install docker-compose. Note: fig has been deprecated. Docker-compose replaces fig.
  3. Create a new directory on your local system.
  4. Enter git clone [email protected]:systers/portal.git to clone the Systers Portal repository. After the clone is done, change directory (cd) to the portal directory.
  5. Run docker-compose build. This pulls the Docker images required to run the project and installs the necessary dependencies.
  6. This step will require the Django SECRET_KEY. Run docker run -e SECRET_KEY=foobarbaz portal_web.
  7. Run docker-compose run web python systers_portal/manage.py migrate.
  8. Run docker-compose run web python systers_portal/manage.py cities_light for downloading and importing data for django-cities-light.
  9. Optional: Run docker-compose run web python systers_portal/manage.py createsuperuser if you wish to create a superuser to access the admin panel.
  10. Run docker-compose up to start the webserver for the Django Systers Portal project.
  11. Systers Portal should be running on port 8000.
    • If you are on Linux, enter http://0.0.0.0:8000 in your browser.
    • If you are using boot2docker on Windows or Mac OS X, enter http://192.168.59.103:8000/ in your browser. If this IP address doesn't work, run boot2docker ip from the command line and replace the previous IP address in the HTTP request with the IP returned by boot2docker.

Documentation

Documentation for Systers Portal is generated using Sphinx and available online at http://systers-portal.readthedocs.org/

To build the documentation locally run:

$ cd docs/
$ make html

To view the documentation open the generated index.html file in browser - docs/_build/html/index.html.

For more information on semantics and builds, please refer to the Sphinx official documentation.

You can view the requirements document here.

portal's People

Contributors

ana-balica avatar exploreshaifali avatar tapaswenipathak avatar rosariorobinson avatar econchick avatar alma-castant avatar willingc avatar verma-varsha avatar todipratik avatar prachiagrawal269 avatar payal97 avatar daminisatya avatar shriyanka avatar ninjakx avatar kanika2107 avatar reachtarunhere avatar hurricrane avatar softcoder32 avatar gayathrimenakath avatar namratab94 avatar ankita240796 avatar daisyab avatar himanshi-khandelwal avatar ichait avatar poojithansl avatar sonakshisaxena1 avatar smarshy avatar

Watchers

James Cloos avatar Vaibhav Singh 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.