https://github.com/patrickxchong/mdiner
A simple web app that searches for food that the user desires from MDining dining halls within a specified date range.
https://github.com/patrickxchong/mdiner
Last synced: about 1 year ago
JSON representation
A simple web app that searches for food that the user desires from MDining dining halls within a specified date range.
- Host: GitHub
- URL: https://github.com/patrickxchong/mdiner
- Owner: patrickxchong
- License: gpl-3.0
- Created: 2018-06-17T16:49:07.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-04T05:39:23.000Z (over 3 years ago)
- Last Synced: 2025-04-06T14:08:44.283Z (over 1 year ago)
- Language: JavaScript
- Homepage: https://mdiner.patrickxchong.com
- Size: 46.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# The MDiner
A simple web app built with Express.js that searches for food that the user desires from [MDining](https://dining.umich.edu/) dining halls within a specified date range.
The app works by getting data from the UMich Student Life API, and storing the food data in a remote MongoDB server for quick retrieval.
## Usage
- Go to the [MDiner](https://mdiner.now.sh)
- Type in what you would like to eat
- Select a date range (or use the default range)
- Click ✅ and I hope you find what you're looking for!
## Installation
To run the web app locally
- Install the following dependencies
- Install Node.js
- Run `npm install` or `yarn install` to install Express.js and other dependencies
- Run the app by running `npm run dev` or `yarn dev`
## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D
## History
- 1.0.0
- Migrated codebase from Flask on Python to Express.js on Node.js. Project deployed to https://mdiner.now.sh
- 0.3.2
- Deployed code to Digital Ocean and linked to free domain https://www.mdiner.ml (for a year)
- 0.3.1
- Made UI more responsive to screen sizes
- 0.3.0
- Got inspiration from @wenhoong's School of Information project and implemented caching in MDiningScraper to avoid overloading the MDining server and to improve runtime
- 0.2.1
- Revamped user interface with the help of a friend who did a mockup on Sketch
- 0.2.0
- Succesfully built barebones user interface on Flask and deployed to Heroku
- Reverted to non-threading algorithm because Heroku's free tier doesn't support threading well
- 0.1.1
- Experimented with threading to speed up results
- Threading drastically reduces runtime when running command line interface locally
- 0.1.0
- Succesfully built a webscraper with Beautiful Soup to search dining halls for desired food and return results in a command line interface
## Buy me a coffee (or bubble tea)
[](https://ko-fi.com/patrickxchong)
## License
This project is licensed under the GNU General Public License v3.0 or later - see the [COPYING](COPYING) file for details