Skip to content

A cozy notating web app built in React with a Ruby on Rails backend and rooted in a popular PC game, Stardew Valley. This project allows a user to keep a running list of their goals, categorize them, and become inspired by their fellow gamers’ ideas.

Notifications You must be signed in to change notification settings

mborreros/stardew-seeker

Repository files navigation

Stardew Seeker

The Stardew Seeker web app is intended to be used as a companion to the cozy Stardew Valley PC farming game. Users can use this web app to keep track of their personal gaming goals and be inspired by what other gamers are accomplishing while they build the farm of their dreams and help the town flourish. Happy farming, gamers!

API Reference

This app is built on its own Ruby on Rails server. The routes listed below are all accessible through the app. Not all routes are used in the current version of the app, but were included for further app development.

Index all users

  GET /api/users

Show a user

  GET /api/users/${id}
Parameter Type Description
id integer required id of user to fetch

Authorize a user

  GET /auth
Parameter Type Description
id integer required accessed through user id found in the session cookies

Note that the user id cannot be explicitly passed through the route, must be held in the session's cookies

Create a user

  POST /signup
Parameter Type Description
username string required unique account username
password string required account password
name string required unique screenname

Create a user session

  POST /login
Parameter Type Description
username string required account username
password string required account password

Delete a user session

  DESTROY /logout
Parameter Type Description
id integer required accessed through user id found in the session cookies

Note that the user id cannot be explicitly passed through the route, must be held in the session's cookies

Index all goals

  GET /api/goals

Show a goal

  GET /api/goals/${id}
Parameter Type Description
id integer required id of goal to fetch

Show goals associated with a user

  GET /api/my_goals/${id}
Parameter Type Description
id integer required id of user to fetch associated goals

Update a goal

  UPDATE /api/goals/${id}
Parameter Type Description
id integer required id of goal to modify

Delete a goal

  DESTROY /api/goals/${id}
Parameter Type Description
id integer required id of goal to delete

Note that when a goal's record is deleted, the associated goal_tags are dependent on it and are also deleted

Create a goal

  POST /api/goals
Parameter Type Description
title string required goal's title
description string required goal's description
user_id integer required user associated with the goal
copied_from integer if the goal is copied from a previously created goal, that goal's original id

Create associated tags for a created goal (nested route)

  POST /api/goals/${id}/goal_tags
Parameter Type Description
goal_id integer required id of a newly created goal passed through the route
tag_id integer required array of tag ids passed through the request body

Note that this is a nested route. Once a goal is created by the user on the front end and the POST request is sent to the server, the new goal must be sent to this route to create the associated goal_tags for the new goal

Index all tags

  GET /api/tags

Show a tag

  GET /api/tags/${id}
Parameter Type Description
id integer required id of tag

Index all goal tags

  GET /api/goal_tags

Show a goal tag

  GET /api/goal_tags/${id}
Parameter Type Description
id integer required id of goal tag

Run Locally

Clone the project

  git clone https://github.com/mborreros/stardew-seeker

Install dependencies

  npm bundle install

Start the server

  rails s

Start the web app

  npm start

Or start the wep app and server simultaneously

  foreman start -f Procfile.dev

Demo

Link to web app walkthrough

Acknowledgements

  • Source for the icons and images that you see in this web app are courtesy of the Stardew Vallery Wikipedia
  • Inspiration and motivation for this project brought to you by Concerned Ape's beautiful Stardew Valley game
  • Project guidelines and goals brought to you by Flatiron Academy
  • Additional thanks to the programmers of React Bootstrap, React-Select, Material Design, Moment, Active Record, Heroku, and React-DOM who made the functionality of this app possible

Authors

@mborreros

Feedback

If you have any feedback, you can reach out to me at mlbsindia@gmail.com

About

A cozy notating web app built in React with a Ruby on Rails backend and rooted in a popular PC game, Stardew Valley. This project allows a user to keep a running list of their goals, categorize them, and become inspired by their fellow gamers’ ideas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published