Skip to content

carlojacob/bike-ridr-api

Repository files navigation

Bike Ridr!

This is the developer documentation for a bike ride logging application that refers to an specifically designed API for user authentication and ride storage. The developer used the Atom text-editing platform, along with git and other software to write and test the code. The developer wrote the API development code using Ruby on Rails with Pry for testing (the client facing code was written using HTML, SCSS (CSS) and JavaScript).

Github Repository Links

The Github repositories for this project are located here:

Deployed Sites

What is Bike Ridr

Bike Ridr is an application that can be used by cyclists to log date, location, distance and time data from their bike rides; then review, edit or delete previous ride data. User authentication and in-app requests are routed to and handled in this API. The database includes a users table and a rides table. The relationships between these tables are: user has_many rides and rides belong_to user All CRUD actions require user authentication before a response is sent to the client.

Wireframes

Initial wireframes images:

  1. Signed out/initial page.
  2. Signed in page.

Wireframe image 1

  1. New Ride input page.
  2. Ride history page.

Wireframe image 2

User Stories

Bike Ridr user stories:

  1. As a first-time user, I want to create a user account.
  2. As a user, I want to record (create) a new ride record.
  3. As a power user, I want to know my pace after providing my time and distance.
  4. As a returning user, I want to search for, update or delete previous ride data.

Entity Relationship Diagram

Entity Relationship Diagram

Technologies Used

The following technologies were used to create this project:

  1. HTML.
  2. SCSS.
  3. JavaScript.
  4. JQuery.
  5. Node.js.
  6. Ruby on Rails.
  7. Pry.
  8. PostgreSQL.
  9. Atom.
  10. Git.
  11. Github.
  12. Heroku.
  13. Grunt.
  14. Curl.
  15. AJAX.
  16. Bootstrap.

Development Process and Problem-Solving

This project started by developing an initial project scope, which was modified as necessary during development:

  1. Developed application idea, and determined diagrammed ERDs for successful creation.
  2. Scaffolded database tables for API.
  3. Developed wireframes for desired user interface.
  4. Made considerations for how various in-app screens would be displayed.
  5. Placed heavy emphasis on meeting minimum viable product first. Initially applied minimal SCSS to ensure that the user experience met requirements, and additional styling was added near completion as time permitted.
  6. Placed heavy emphasis on performing new tasks in new branches and making regular commits. Branch names explain what changes were made on that branch, and often include just one commit.

Improvements/Unsolved Problems

The following improvements could be made:

  1. Improvements to interface for more user-friendly experience.
  2. Create user profiles to enhance/personalize each user's experience, and to enable interaction between user accounts (eg. view another user's rides).
  3. Ride history table data sorted by date.
  4. Output average speed of rider during activity.
  5. Modals for user inputs.
  6. Logo and animations for buttons.
  7. Help documentation.
  8. Provide additional pseudocode for understanding what is being done.
  9. Refactor code for improved readability.
  10. Inputs for additional ride data (eg. cycling cadence).
  11. Input ride data in tabular format.
  12. Resolve formatting issues on various screen setups.

About

API for Bike Ridr Application Data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published