by Sebastian Calderon
I created this project to demonstrate my skills as a full stack developer. Leveraging Node.js with the Express framework, a PostgreSQL database, and the frontend Bootstrap framework, I aimed to create an experience similar to the layout and functionality of Google Finance. This involved real-time tracking of stock market ticker information, adapted to showcase the prices of items traded within the vibrant economy of Old School RuneScape (OSRS), a massively popular MMORPG developed by Jagex.
For context, Old School RuneScape boasts a dynamic player-driven economy integral to player progression and in-game activities. Much like real-world stock trading, players engage in buying and selling items to enhance their gameplay experience. Thus, the inspiration behind modeling my tracker after the user-friendly interface of Google Finance was to capture the essence of this virtual marketplace. Please be mindful of the British spelling of certain words, as the original developers are based in the UK.
None of this would be possible without the OSRS Wiki API that I used to pull real time pricing information for my site.
The website offers a search bar for item lookup, detailed item pages, and real-time pricing. These detailed item pages provide a summary of pricing information, ranging from current prices to yearly trends, alongside trade limits and in-game item valuations.
My goals with this project is to demonstrate my proficiency in PostgreSQL by storing pertinent data that could be easily queried through a Node client for versatile manipulation. Additionally, I wanted to showcase the retrieval of relevant API data through Axios. Continuing to leveraging Node on the server-side, I also rendered HTML templates using EJS and delivering them to users through the Express framework. With Express, I managed request routing in an organized and easily comprehensible way.
Features that I would like to add to the project:
- Automatic price ticker updates
Currently there is a script in the Script directory that I run periodically when on the site to update the prices. Need to add cron tasks to main app.Implemented!
- Better error handling
- Currently error handling is basic and using the default express handling. Want to add custom error page and better db error handling.
- Optimize for Mobile
Configure Bootstrap containers to create a more responsive siteImplemented!
- User Accounts
- Goal being to be able to save individual items to homepage to track
- Useful Tools
- High Alch Tracker
- Page dedicated to tracking items that can be profitable to high alch for magic xp
- Herblore Cost Saver
- Find unfinished potions that provide highest xp per gp spent
- High Alch Tracker
- Node.js 20.x or higher
- NPM package manager
Feel free to clone the site and install with npm.
Please note that you will need to standup the postgres DB using the backup located on the root. You will also have to modify the pg parameters found here to connect to your postgres DB instance.