beckastar / ladynerds_site

Django CRUD for the Ladynerds organization
7 stars 8 forks source link

ladynerds_site

LadyNerds are an organization comprised of people who graduated from the Hackbright Academy coding bootcamp. There are roughly 300 of us working in a variety of roles within the tech industry, primarily in San Francisco, but also places like Seattle, Portland, and New York.

Table of Contents

About the Site

This CRUD webapp is an ongoing collective project! Any LadyNerd is welcome to contribute. There are instructions for getting started below. Check out the 'issues' tab for things that need to be done.

Tracking Progress

We're tracking progress using GitHub's Issues. Things to remember:

Making an Issue

Please use the appropriate template when making a new issue (ISSUES_TEMPLATE_FEATURES.md for new features, changes, and other non-bug issues. ISSUES_TEMPLATE_BUGS.md for issues about bugs)

Tags

Tags help other people understand each issue! Here's some suggestions:

Suggested workflow:

(Example) Kelsey thinks it would be great if we had a dancing kitten on the front page. She makes an issue called "Dancing Kitten". She tags it "good-for-beginner", because it should be pretty simple, and "help-wanted", because she doesn't have time to do it right now. She also links to a kitten gif, and adds a checklist:

Shadow is looking for a fairly simple issue to get started on. They see "Dancing Kitten" and love the idea! They add a comment onto the issue:

Awesome idea! I'm working on it now :)

Shadow gets everything set up on their machine, then makes a new branch for their work: kitten-dance. They work through the checklist, being sure to commit often and ask questions when they get stuck. When they're done, they make sure kitten-dance is up to date with mvp, then push their whole branch up to the main repo (they don't merge it yet, because they want a code review first). Then Shadow makes a pull request and links it to the issue. Back in the issue, they add another comment and close the issue:

Finished! I made a pull request for branch 'kitten-dance' and would love a code review

Sydney sees an open pull request, so she checks out their code. Everything looks good, she accepts the pull request, and tada! Now we have dancing kittens on the front page.

How to Contribute:

Set Up a Local Repo

You can either message Becka to be added as a contributor, or you can take the following steps:

Fork the Repo: (there's a button in the upper right part of your screen)

Clone Your New Repo Copy:

$ git clone https://github.com/[your-username-here]/ladynerds_site.git ladynerds_site
$ cd ladynerds_site

**Configure Your Remote Upstream

Keep Repos in Sync:

If you're not an official contributor: You'll have to submit pull-requests from your github repo, rather than the original one.

Before you can make a pull request you need to:

Keep in mind that if you've made changes to both mvp and master, you will need to go through the fetch, merge, and push steps of this process in both branches.

Now you can submit a pull request!

If you are an official contributor:

$ git branch
  master
  mvp
* my-branch
$ git pull origin mvp
$ git push origin my-branch

This merges in any updates that have been made since the last time you did a git pull. This ensures that your pull request will only have your changes in it, rather than any changes that have happened since you made your branch. Then you push up your whole branch, so you can submit a pull request for it.

Run the site locally:

Activate a virtual environment and install dependencies:

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

Checkout mvp branch:

This is where we're currently working (exception: changes to the README should be done in master) See what branches you have locally:

$ git branch
* master
  mvp

*If you only see master, get the mvp branch from your online repo:

$ git checkout --track origin/mvp

We're currently working on mvp, so check that out and make branches from there:

$ git checkout mvp

Now it should look like this when you 'git branch':

$ git branch
  master
* mvp

Run the web server:

Setup your local sequel lite DB

Run DB migration

$ python manage.py migrate

Create the admin user

$ python manage.py createsuperuser

Run servser

$ python manage.py runserver

And now you can view the site locally at http://localhost:8000/

Choose an Issue:

Check out the 'issues' tab (at the top of this repo) to find something you'd like to work on. (Be sure to read this section on issues before diving in, so you know how it all works.)

How to deploy to Heroku:

Install Heroku toolbelt via Brew or from heroku https://devcenter.heroku.com/articles/getting-started-with-python#set-up

login to Heroku

$ heroku login
Enter your Heroku credentials.
Email: python@example.com
Password:
...

Connect your local repo to Heroku remote.

$ heroku git:remote -a ladynerds

To deploy to Heroku

$ git push heroku <local_branch>:master

Tips and Tricks:

The site currently has a black header with a black navbar, with neon green font. If you see something else, you're on the wrong branch.

The documentation for switching to Postgres can be seen at this URL: https://docs.google.com/document/d/1bBNODYnMo0-DIkD0hXp7gFRexDhmvqZvySEWi8hVE3w/edit

Have fun!