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!
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.
GET /api/users
GET /api/users/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of user to fetch |
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
POST /signup
Parameter | Type | Description |
---|---|---|
username |
string |
required unique account username |
password |
string |
required account password |
name |
string |
required unique screenname |
POST /login
Parameter | Type | Description |
---|---|---|
username |
string |
required account username |
password |
string |
required account password |
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
GET /api/goals
GET /api/goals/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of goal to fetch |
GET /api/my_goals/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of user to fetch associated goals |
UPDATE /api/goals/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of goal to modify |
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
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 |
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
GET /api/tags
GET /api/tags/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of tag |
GET /api/goal_tags
GET /api/goal_tags/${id}
Parameter | Type | Description |
---|---|---|
id |
integer |
required id of goal tag |
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
Link to web app walkthrough
- 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
If you have any feedback, you can reach out to me at mlbsindia@gmail.com