Skip to content

A straightforward activity tracker with Groups, memberships, activities, activity statistics and KOMs

Notifications You must be signed in to change notification settings

Rhelli/RoR-Capstone---Activity-Tracker

Repository files navigation

Stay In Touch's Home Page

🏃🏽‍♀️🏃🏽 Activity Tracker

An Activity Tracker with Groups, Memberships, Stats and KOMs


Visit The Site »

Download this repository | Report A Bug | Fork It

📑 Table of Contents

🔰 The Project Brief

This is the Ruby on Rails Capstone Project, to be completed by students of Microverse.

This project is unlike those that have come before it. We are required to adhere to the following guidelines:

  • Mandatory technical specifications to reach
  • A design brief to follow
  • Presentation of the project once finished, providing a demo, project features, extra features and how we tackled the n+1 problem.
  • 5 day build time for a Minimum Viable Product

The Capstone therefore demonstrates itself to be a more true-to-form application of our skills to real-world projects, providing us with valuable experience of creating deliverables under time pressure.

🛠️ The Nitty Gritty

The project objective was to build a Ruby on Rails based web application that would group a chosen item together, for example, payments, projects between friends, or in the case of this project, activities.

The design guidelines followed that of Snapscan, designed by Gregoire Vella, however a certain amount of wiggle room beyond the colors, typographies and general layout was allowed.

Beyond the familiar groups, memberships and users features, this project focused on bringing some, albeit rudimentary, statistics to the user - a feature that is commonplace today in activity trackers.

🔬 Tools & Technology Used

Languages & Frameworks

  • Ruby 2.7.1
  • Ruby on Rails 6.0.3.1
  • SASS/CSS3
  • Bootstrap

Gems of note

Testing

Database

  • PostgreSQL

Linters & Quality Control

Deployment

  • Heroku

💻 Setup & Use

Follow this link to see a live version of the project. If you'd like a closer look, continue reading....

Setup

Setup should be fairly straightforward. You will have to ensure your machine is properly equipped to run the code first:

  1. Make sure you have both Ruby and Ruby on Rails (MacLinuxWindows) installed.
  2. Download this repository.
  3. cd into the root directory of wherever you download this repo. What does 'cd' mean?
  4. Whilst at the root (home) directory of this project, enter bundle install to install the projects software dependencies.
  5. In your terminal window, enter rails server to start the server.
  6. Now navigate to localhost:3000 in your browser to start playing around with the webpages!

Alternatively if you'd like to confirm the entire project is passing testing:

  1. cd into this repository in your terminal
  2. Enter bundle exec rspec to run all tests

🎬 Feature Previews

Creating Activities, getting statistics and Deleting Activities

Creating & Destroying Activities

Creating an activity will log it immediately, provide you with its statistics on the Activity Page and increment the weekly activity count on the users profile.

Creating and Destroying Groups

Creating and Destroying Groups

From the 'My Groups' page, the user can see all their active group memberships, as well as suggested groups not yet joined. Continuing to the 'Create Group' page allows the user to create a new group with a name, description and auto-populated group icon. A new group will appear site wide.

The Group Page, KOMs and Membership

Creating A New Post

Navigating from the 'My Groups' page, the user can find new groups in the 'Suggested Groups' section. On the Group page itself, the user is presented with the option to join (or leave) the group, the current member list with KOMs and trophies and recent activities at the bottom.


🛎️ Contributions, Issues and Forking

Contributions, issues and feature requests are more than welcome!

If you have any problems running or setting this project up, please submit it as a bug on the issues page. right away!

If you want to make your own changes, modifications or improvements, go ahead and Fork it!

  1. Fork it
  2. Create your working branch (git checkout -b [choose-a-name])
  3. Commit your changes (git commit -am 'what this commit will fix/add/improve')
  4. Push to the branch (git push origin [chosen-name])
  5. Create a new Pull Request

💂🏽💻 Creator

Rory Hellier - Github

🖐🏼 Show Your Support!

Give a ⭐️ if you like this project!

🍻 Credits & Acknowledgements

The original design specifications and influence for this project are drawn from Gregoire Vella's Snapscan design on Behance.

⚖️ Licensing

This project is MIT licensed.