Team Leads: Meg Ducharme, Steve Brownlee
Willed to life by: Chris Miller, Garrett Ward, Peter Forrest, John Dulaney, Kolden Prue, and Jared Fuller.
This application was developed by Nashville Software School graduates for use by the instructors. Its function is to facilitate certain GitHub processes for instructors. The application eliminates steps for instructors to delegate project issues to multiple student / team repositories.
The application is hosted here. (:construction: currently not online :construction:)
This application assumes Git has been installed previously. Follow this link for help with Git.
In order to run the application, it is also assumed that you have a grasp of terminal and have a package manager. To get set up we need to install the following 4 dependencies.
-
Node.js's package manager NPM Download here.
-
Requires installation of the latest version of Python - Python version 3.6.5.
-
PIP (Python Installation Package) should be included with Python installation. For help with installation follow this link.
-
Requires installation of
pipenv
.On MacOS: Enter
brew install pipenv
in the terminal.Otherwise: Enter
pip install pipenv
- Navigate to the directory where you wish to install the application and type:
git clone origin git@github.com:PythonWizards/Ticket_Migrator.git
-
When download is complete, type
cd ./ticket_migrator/migrator_app/static/migrator_app
, then typenpm i
. This will install any package dependencies. -
Navigate back to the folder that contains the file
manage.py
. -
Enter
python manage.py migrate
. Something similar to the following will appear indicating a successful migration:
Operations to perform:
Apply all migrations: admin, auth, contenttypes, migrator_app, sessions
Running migrations:
Applying migrator_app.0007_auto_20180501_1502... OK
-
Next, enter virtual environment by typing
pipenv shell
. -
Install environment packages/dependencies by running the command
pipenv install
. -
Finally we run the application using
python manage.py runserver
and navigate in127.0.0.1.8000
in a web browser.
🔥 Bazinga. You're in.
Once opened in your browser, the application will be directed to the login page.
-
Login or create an account by clicking
Register
. -
Follow steps to register new user. GitHub Personal Access Token is required to authenticate to GitHub when:
- You're using two-factor authentication
- Accessing protected content in an organization that uses SAML single sign-on (SSO). Tokens used with organizations that use SAML SSO must be authorized.
-
Navigate to GitHub in a new tab. In the upper-right corner of any page, click your profile photo, then click Settings.
-
In the left sidebar, click Developer settings.
-
In the left sidebar, click Personal access tokens.
-
Click Generate new token.
-
Give your token a descriptive name.
-
Select the scopes, or permissions, you'd like to grant this token. To use your token to access repositories from the command line, select repo.
-
Click Generate token.
-
Copy the token to your clipboard. For security reasons, after you navigate off the page, you will not be able to see the token again.
-
Once you have pasted the token into the register page, click Create Account.
Upon creating an account, the user will be directed to the application home page. Here the user is presented with the option to select a source repository from which to pull issues to create a new sprint. If any sprints have been previously created, they will be displayed in the Saved Sprints section, where the user can click Migrate
or Details
.
(To edit your access token, click Profile
in the top right of the page next to Login
.)
Once a source repository is selected and the user clicks Select, the user will be directed to the "drag and drop" page. Here you must enter a Sprint Name and drag any issues from the box on the right into the box on the left. The left container will migrate all dropped issues into the saved sprint upon clicking Save Sprint.
Sprint Saved
will appear in a modal with three options:
- Home: navigate to home page, where the saved sprint will be Saved Sprints section.
- Create Additional: refreshes the drag and drop page to create an additional sprint.
- Migrate: will direct user to migrate page (Once user selects OK on migrate page, the sprint will no longer be shown on home page under Saved Sprints).
On the migrate page, user will see the Sprint name, repository link, and all issues selected in previous page. The user will be prompted to select target reposotory/repositories (into which the sprint issues will be migrated).
Upon clicking OK, a loading screen (GIF) will appear. Once complete, the user will see a "SUCCESS" page indicating a successful migration. 😃