Collect online sources in one place and access them via any internet connected device. Completely custom organization by subject and topic. Share sources, if desired, with others researching the same topic.
- Fork and clone this repo
- Pull your repo to your local environment
- In your CLI, navigate to the folder you cloned the code files to.
Then execute (requires Bundler):
$ bundle install
In your CLI, run the shotgun server:
$ shotgun
Once server is running, enter the following url into your browser:
$ localhost:9393
View this video to review basic use: Video Walkthrough
You must sign up as a user to use the app.
To sign up:
- Click on "Signup"
- Fill out and submit form (all are required)
- Your username and email must be unique
- After a valid signup, you will automatically be logged in
- Once logged in, you will be taken to your home page that displays all your subjects and topics
To log in:
- Click on "Login"
- Fill out and submit form (all are required)
- After validating your info, you will be taken to your home page that displays all your subjects and topics
Creating a Subject:
- Click on "Add Subject"
- Fill out the Name and Description fields
- The name is required and must be unique
- You'll also have the ability to create a new topic at the same time (optional)
- Click on the "Add Subject" button at the bottom to submit your info
Creating a Topic:
- Click on "Add Topic"
- Fill out the Name and Description fields
- The Name is required and must be unique
- You must assign the topic to a subject (note: a topic can only be in one subject)
- You can either select from your existing subjects or
- You can create a new subject
- If you select both an existing subject and create a new one, the topic will only go in the newly created topic
- Click on the "Add Topic" button at the bottom to submit your info
Creating a Source:
- Click on "Add Source"
- Fill out the form in the Source Info section
- The Name and URL are required and both must be unique
- You must assign the source to a topic (note: a source can go in as many topics as you like, but must be in at least one)
- You can either select from your existing topics (multiple is ok) or
- You can create a new topic
- If you select both an existing topic and create a new one, the source will go in both topics
- If you create a new topic, you must also assign the new topic to a subject (note: a topic can only be in one subject)
- You can either select from your existing subjects or
- You can create a new subject
- If you select both an existing subject and create a new one, the topic will only go in the newly created topic
- If you want the source to be found by other users, check the Public box (see below for more details)
- Click on the "Add Source" button at the bottom to submit your info
Editing a Subject:
- From the Home page, click on the "Edit Subject" button
- A form pre-filled with current info will be displayed
- Change whatever info you wish (same rules apply for creating a new subject - see above)
- If you check any other boxes in the Associated Topics section, those topics will be moved from their existing subject into the currently displayed one
- Click on the "Update" button at the bottom to submit your info
Editing a Topic:
- From the Home page, click on the topic you wish to edit (will take you to the topic page)
- Click on the "Edit Topic" button (at top of page, next to topic name)
- A form pre-filled with current info will be displayed
- Change whatever info you wish (same rules apply for creating a new source - see above)
- If you check any other boxes in the Associated Subjects section, the currently displayed topic will be moved to the selected subject (or the new one if added)
- Click on the "Update" button at the bottom to submit your info
Editing a Source:
- From the Home page, click on the topic that contains the source you wish to edit (will take you to the topic page)
- Click on the "Edit Source" button for the source you want to edit (each source will have its own button)
- You can also click on the "Source Details" button to go the source page, where you can also select to edit the source
- A form pre-filled with current info will be displayed
- Change whatever info you wish (same rules apply for creating a new source - see above)
- Click on the "Update" button at the bottom to submit your info
Deleting a Subject:
- From the Home page, click on the "Delete Subject" button
Deleting a Topic:
- From the Home page, click on the topic you wish to edit (will take you to the topic page)
- Click on the "Delete Topic" button (at top of page, next to topic name)
Deleting a Source:
- From the Home page, click on the topic that contains the source you wish to edit (will take you to the topic page)
- Click on the "Delete Source" button for the source you want to edit (each source will have its own button)
- You can also click on the "Source Details" button to go the source page, where you can also select to edit the source
Orphan Control:
- Orphans are not allowed, and the control mechanism can be triggered in several ways:
- Deleting a subject that contains any topics
- Deleting a topic that contains any sources
- Removing all topics when editing a subject
- Removing all topics when editing a source
- When triggered during deletion, you will be taken to a page to reassign any orphans to other subjects/topics before deletion will take place
- When triggered during editing, your edits will not take place, instead the page will refresh with the existing info unchanged
To Make Your Source Shareable
- During creation or when editing, check the Public check box to expose your source to all users
When Sources Are Viewable by Others
- All public sources that share a topic name will be viewable by all users who also have that topic
- When matching topics, the topic name is case insensitive
- Different users' sources that have the same URL are filtered out, so you won't see any duplicate sources
- The "http://" and "www." are ignored during comparison
- Other users' sources are displayed on the topic page below your sources
To Save Another User's Source
- On the Topic page, scroll down below your sources to see other users' sources
- Click on the "Save to Your Sources" button to add their source to your collection
- All the source info will be automatically added
- The source will be assigned to the topic you viewed the source in
- The added source will default to being private
- The source will be yours and you'll have complete control over it like any other source
- If you want to change any info, simply edit like any other source after saving
- Any edits you make will not affect the original source
- Any edits the original user makes will not affect your copy of the source
Editing Your Profile:
- Click on "Edit Profile" in the main navigation
- A form pre-filled with current info will be displayed
- Change whatever info you wish (same rules apply for creating a new profile - see above)
- For security, your password will not be displayed
- If you do NOT want to change your password, LEAVE THIS BLANK
- If you do want to change your password, enter the new password into the field
Logging Out:
- Click on "Logout" in the main navigation
Bug reports and pull requests are welcome on GitHub at https://github.com/marcon29/sinatra-sourcerer.git. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
The gem is available as open source under the terms of the MIT License.