Nowadays, it is very common for people to dine by themselves due to the fast-paced urban life. We may have got used to it, or more likely just ignored the existence of loneliness in our hearts. To solve such kind of unpleasant experience and let every lonely diner have a sense of belonging, we designed our application, DiningPal.
DiningPal is an online web application (Mainly based on: HTML, CSS, JavaScript) allowing multiple users to make plans of dining together. After sign-up/login, users can propose their favorite restaurant(s) (with ranks) and find friends (or strangers), who also prefer similar restaurant during that specific time to have dinner together.
The features of this application will include locating users,positioning/ranking/auto-recommend restaurants, with future implementations including chat rooms, usersfilter system, map navigation, coupon search, weather condition check and so on. Though this application can be used to arrange other places of collective activities, such as gym, theaters, shopping malls etc., it is primarily designed to help people find diner mates in an easy and comfortable way.
The easiest way to access this app is to visit DiningPal's website: https://diningpal-czhao.herokuapp.com/startpage.html. Register an account and have fun with DiningPal! This app accompanies with a detailed documentation. You can also make use of it and discover DiningPal's depth design notion.
Alternatively, you may be interested in its source script and run it locally. As this an APP based on Heroku, some packages are required. DiningPal supports the Getting Started with Node on Heroku article - please check it out first.
Next, make sure you have Node.js and the Heroku CLI installed.
$ git clone https://github.com/ZiyiAn/DiningPal.git # or clone your own fork
$ cd node-js-getting-started
$ npm install
$ npm start
Your app should now be running on localhost:5000.
Please note that in local status, some service such as map may be unavailable because they need API support.
$ heroku create
$ git push heroku master
$ heroku open
or
For more information about using Node.js on Heroku, see these Dev Center articles:
- Getting Started with Node.js on Heroku
- Heroku Node.js Support
- Node.js on Heroku
- Best Practices for Node.js Development
- Using WebSockets on Heroku with Node.js
This is a group project for CMPT276 (Introduction to Software Engineering) in Summer 2019 at Simon Fraser University. The instructor is Bobby Chan. For more information on the course description, you can refer to here.
- Ziyi An 301371687,
- George He 301315033,
- Bowen Wang 301267523,
- Zihan Wang 301329429,
- Chen Zhao 301308092
Briefly, we applied Agile Development Process and Scrum Framework in a period of two month.
- Iteration 1: Basic user interface done. Login/Logout finished.
- Iteration 2: Major functionalities done (Map, Chatroom, Weather, etc.)
- Iteration 3: Other minor functionalities done ("FoodDigger", etc.) and bug fixed. Final documentation done.
Basically I was responsible for three tasks:
- Build the chatroom using socket.io service and MongoDB.
- Build the "food digger" functionality using Zomato API and Google Map API.
- The main writer of our final documentation and leader of 15-min presentation.
I also joined the design and creation of the main user interface (HTML/CSS/JavaScript edit).