Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates to various documents #170

Open
wants to merge 29 commits into
base: prod
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
554c4e2
Add files via upload
OwenSanzas Nov 22, 2024
40589c4
Add files via upload
OwenSanzas Nov 22, 2024
fe0b667
Create developerdocs.yml
nandiniiys Nov 22, 2024
4a17d79
Update developerdocs.yml
nandiniiys Nov 22, 2024
0c7673d
Update README.md
nandiniiys Nov 22, 2024
3022aff
Merge pull request #169 from tamu-edu-students/nandiniiys-patch-1-1
nandiniiys Nov 22, 2024
239b7b6
Merge pull request #168 from tamu-edu-students/nandiniiys-patch-1
nandiniiys Nov 22, 2024
aab964c
development setup guide
krishnacalindi Nov 22, 2024
ca3d5f2
Update README.md
krishnacalindi Nov 22, 2024
4e4b5a7
sprint 4 stuff
krishnacalindi Nov 22, 2024
11382dc
Merge branch 'main' of github.com:tamu-edu-students/csce600-arcade
krishnacalindi Nov 22, 2024
13c7a83
sprint 4 retro
krishnacalindi Nov 22, 2024
edd9959
no retro
krishnacalindi Nov 22, 2024
2c50479
retro
krishnacalindi Nov 22, 2024
1617818
updated retro
krishnacalindi Nov 22, 2024
1848e25
velocity retro
krishnacalindi Nov 22, 2024
d6d316e
update to guide
krishnacalindi Nov 23, 2024
78f1d00
Update developerdocs.yml
nandiniiys Nov 24, 2024
d369d2a
Upload feature tour guide
nandiniiys Nov 24, 2024
6d8cb7c
Update README.md
krishnacalindi Nov 25, 2024
232b312
Update README.md
mrkc2303 Nov 25, 2024
d20984e
Merge pull request #174 from tamu-edu-students/doc-fix
mrkc2303 Nov 25, 2024
14158c6
Create DevelopmentGuide.md
mrkc2303 Nov 25, 2024
287cfda
Create SprintDetails.md
mrkc2303 Nov 25, 2024
e1a115f
Update README.md
mrkc2303 Nov 25, 2024
e7355a6
Update README.md
mrkc2303 Nov 25, 2024
2467d64
Merge pull request #175 from tamu-edu-students/doc-fix
mrkc2303 Nov 25, 2024
a4eecb9
Upload final report
nandiniiys Nov 30, 2024
5245eeb
upload final presentation
nandiniiys Nov 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/developerdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Simple workflow for deploying static content to GitHub Pages - used existing workflow template
name: Deploy Developer Docs

on:
# Runs on pushes targeting the default branch
push:
branches: ["prod"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.5' # Specify the Ruby version used in your project
bundler-cache: true # Caches dependencies for faster builds

- name: Install dependencies
run: |
gem install yard
bundle install # If you use Bundler to manage dependencies

- name: Generate documentation
run: |
yard doc --relative-links

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: './doc' # Only upload the YARD-generated documentation

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
156 changes: 156 additions & 0 deletions DevelopmentGuide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Arcade Development Guide

## 1. Open Command Prompt and Navigate to the Desired Folder Location

1. **Git**: [Download and install Git](https://git-scm.com/downloads).
2. Clone the repository:
- **Using SSH**: `git clone git@github.com:tamu-edu-students/csce600-arcade.git`
- [Help connecting via SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
- **Using HTTPS**: `git clone https://github.com/tamu-edu-students/csce600-arcade.git`
- [Help cloning via HTTPS](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository#cloning-a-repository-using-https)

---

## 2. Environment Setup

- **For Windows Users**: [Install WSL](https://learn.microsoft.com/en-us/windows/wsl/install)
- **For Mac Users**: Use Terminal directly.

> **Warning**
> Activate WSL: `wsl`

---

## 3. Ruby Installation

1. Install `rbenv`: `sudo apt install rbenv`
2. Install Ruby: `rbenv install 3.3.5`

> **Warning**
> If Ruby installation fails:
> `git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build`
>
> For Mac users, do not delete the preinstalled System Ruby version. Ensure your PATH contains the `rbenv` Ruby version before the system version in your bash file.
> [Help managing Ruby version on Mac](https://dev.to/sarahcssiqueira/managing-ruby-versions-on-macos-apple-silicon-with-rbenv-1mon).

---

## 4. Dependencies

1. Install Bundler: `gem install bundler`
2. Install Gems: `bundle install`

> **Warning**
> If step 2 fails: `bundle config set --local without 'production'`

3. Install additional packages:
`apt install libffi-dev libyaml-dev ruby-railties`
4. If Bundler uses the wrong Ruby version:
`export PATH="$HOME/.rbenv/bin:$PATH" && eval "$(rbenv init -)"`

---

## 5. Environment Variables

1. Create a `.env` file in the project root: `touch .env`
2. **GitHub OAuth**:
- Go to [GitHub Developer Settings](https://github.com/settings/developers).
- Create new OAuth application.
- Include both the Heroku deployment URI and localhost URI in the Redirect URI section.
- Add the following environment variables:
- `GITHUB_CLIENT_ID`
- `GITHUB_CLIENT_SECRET`
- [Help creating OAuth apps](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps)

3. **Spotify OAuth**:
- Go to [Spotify Developer Page](https://developer.spotify.com/documentation/web-api/concepts/authorization).
- Set up the application and add both Heroku and localhost URIs.
- Add the following environment variables:
- `SPOTIFY_CLIENT_ID`
- `SPOTIFY_CLIENT_SECRET`

4. **Google OAuth**:
- Go to [Google Cloud Console](https://developers.google.com/identity/protocols/oauth2).
- Set up the application and add both Heroku and localhost URIs.
- Add the following environment variables:
- `GOOGLE_CLIENT_ID`
- `GOOGLE_PROJECT_ID`
- `GOOGLE_CLIENT_SECRET`
- `GOOGLE_AUTH_URI`
- `GOOGLE_TOKEN_URI`
- `GOOGLE_AUTH_PROVIDER`
- `GOOGLE_REDIRECT_URIS`

---

## 6. Database Setup

1. Migrate: `rails db:migrate`
2. Seed: `rails db:seed`

> **Info**
> The initial seed process may take up to 2 minutes.

---

## 7. Development Mode

1. Run the app: `rails server`
2. Access the app at:
- [http://127.0.0.1:3000](http://127.0.0.1:3000)
- [http://localhost:3000](http://localhost:3000)
3. Quit the app: Press `CTRL+C` in the terminal.

---

## 8. Run Tests and Coverage Report Locally

1. **Unit and Functional Tests**: `bundle exec rspec`
2. **Integration Tests**: `bundle exec cucumber`
3. **View Coverage Report**: `open coverage/index.html`

> **Warning**
> If RSpec fails due to migrations: `RAILS_ENV=test rails db:migrate`

---

## 9. Run Tests and Coverage Report on GitHub

1. Run the "Tests and Coverage" workflow in the left navigation bar.
- [Help running GitHub Actions](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow)

---

## 10. Generate Developer Documentation

1. **Locally**:
- Generate: `yard doc`
- View: `open doc/index.html`
2. **On GitHub**:
- Run the "Deploy Developer Docs" workflow.
- View documentation [here](https://tamu-edu-students.github.io/csce600-arcade/).

---

## 11. Deployment (Heroku)

1. [Create a Heroku account](https://signup.heroku.com/).
2. [Install Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli).
3. Login: `heroku login`
4. Create a `Procfile` in the project root: `web: bundle exec rails server -p $PORT`
5. Create Heroku app: `heroku create app-name`
6. Push your app: `git push heroku prod`
7. Database setup:
`heroku run rails db:migrate && rails db:seed`
8. Set environment variables:
- CLI Command: `heroku config:set VAR_NAME=value`
- [Help setting config vars](https://devcenter.heroku.com/articles/config-vars)
- Add `TZ=America/Chicago` for time zone configuration.

> **Warning**
> Add Heroku Postgres add-on before running database setup commands.

---

## 12. Enjoy Arcade!

50 changes: 21 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,39 +10,31 @@ Arcade will also include an optional login feature to enhance the user experienc

This project aligns with Prof. Ritchey’s goal of creating a more accessible, user-friendly gaming experience, free from the frustrations caused by monetized platforms.

## Team Information
- **Client:** Dr. Ritchey
- **Client Meetings:** Every Thursday, 4 PM - 5 PM, via Zoom
- **Developers:** Kanishk Chhabra, Nandinii Yeleswarapu, Tejas Singhal, Krishna Calindi, Junchao Wu, Ze Sheng, Antonio Rosales

## Sprint - 1
- **Product Owner:** Tejas Singhal
- **Scrum Master:** Nandinii Yeleswarapu
- [Sprint 1 Plan](./documentation/Fall2024)
- [Sprint 1 Retrospective](./documentation/Fall2024)

## Sprint - 2
- **Product Owner:** Junchao Wu
- **Scrum Master:** Antonio Rosales
- [Sprint 2 Plan](./documentation/Fall2024)
- [Sprint 2 Restrospective](./documentation/Fall2024)

## Sprint - 3
- **Product Owner:** Krishna Calindi
- **Scrum Master:** Kanishk Chhabra
- [Sprint 3 Plan](./documentation/Fall2024)
- [Sprint 3 Restrospective](./documentation/Fall2024)

## Sprint - 4
- **Product Owner:** Krishna Calindi
- **Scrum Master:** Ze Sheng
- [Sprint 4 Plan](./documentation/Fall2024)

# Important Links
- [Team Working Agreement](TEAM_WORK_AGREEMENT.md)
- [**Team Working Agreement**](TEAM_WORK_AGREEMENT.md)
- **Deployed App:** https://csce606arcade-12ac8dd4dc24.herokuapp.com/
- **Code Climate Report:** https://codeclimate.com/github/tamu-edu-students/csce600-arcade
- **Project Management Page:** https://tamu-team-pyr0027e.atlassian.net/jira/software/projects/SCRUM/boards/1
- **Developer Documentation:** https://tamu-edu-students.github.io/csce600-arcade/
- [**Sprint Information**](./SprintDetails.md)
- [**Developer Setup (Markdown)**](./DevelopmentGuide.md)
- [**Developer Setup (PDF)**](./documentation/)

## Team Information
- **Client:** Dr. Ritchey
- **Client Meetings:** Every Thursday, 4 PM - 5 PM, via Zoom
- **Developers:**

| Name | Email |
|-------------------------|-------------------------------------------|
| Nandinii Yeleswarapu | [nandiniiys@tamu.edu](mailto:nandiniiys@tamu.edu) |
| Kanishk Chhabra | [kanishk.chhabra@tamu.edu](mailto:kanishk.chhabra@tamu.edu) |
| Krishna Calindi | [kxc@tamu.edu](mailto:kxc@tamu.edu) |
| Tejas Singhal | [singhalt@tamu.edu](mailto:singhalt@tamu.edu) |
| Ze Sheng | [zesheng@tamu.edu](mailto:zesheng@tamu.edu) |
| Antonio Rosales Viesca | [antoniorosales@tamu.edu](mailto:antoniorosales@tamu.edu) |
| Junchao Wu | [junchao-wu@tamu.edu](mailto:junchao-wu@tamu.edu) |


## Software dependencies and version
**Ruby** - 3.3.5 \
Expand Down
25 changes: 25 additions & 0 deletions SprintDetails.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Sprint Details

## Sprint - 1
- **Product Owner:** Tejas Singhal
- **Scrum Master:** Nandinii Yeleswarapu
- [Sprint 1 Plan](./documentation/Fall2024)
- [Sprint 1 Retrospective](./documentation/Fall2024)

## Sprint - 2
- **Product Owner:** Junchao Wu
- **Scrum Master:** Antonio Rosales
- [Sprint 2 Plan](./documentation/Fall2024)
- [Sprint 2 Restrospective](./documentation/Fall2024)

## Sprint - 3
- **Product Owner:** Krishna Calindi
- **Scrum Master:** Kanishk Chhabra
- [Sprint 3 Plan](./documentation/Fall2024)
- [Sprint 3 Restrospective](./documentation/Fall2024)

## Sprint - 4
- **Product Owner:** Krishna Calindi
- **Scrum Master:** Ze Sheng
- [Sprint 4 Plan](./documentation/Fall2024)
- [Sprint 4 Restrospective](./documentation/Fall2024)
Binary file added documentation/Arcade Development Guide.pdf
Binary file not shown.
Binary file added documentation/ArcadeFeatureTour.pdf
Binary file not shown.
Binary file added documentation/Fall2024/FinalPresentation.pptx
Binary file not shown.
Binary file added documentation/Fall2024/FinalReport.pdf
Binary file not shown.
Binary file removed documentation/Fall2024/Sprint Plan 4.pdf
Binary file not shown.
Binary file added documentation/Fall2024/sprint4retrospective.pdf
Binary file not shown.
Loading