HyperMap is a full stack web app powered by React and Django. It enables people in CMU to discover and share interesting ongoing campus events, funny scenes or even requests for some help on this map. At a click on a dot on the map, a postcard edited by other users will show up to tell you what's up. Instead of traditional event notice in CMU via emails, with this website, people will never miss the most popular ongoing events on campus. Users will be presented with the most genuine perspectives of the events provided by their peers. Users can post a postcard on a point of the CMU campus map for current events or those in the future. User can decide who can see the post, maybe to close friends, to students in the same department, to professors, or even to all the users on the websites. The map also has a time line, by adjusting the timeline, users can see posts at present, in the past or in the future. Users can also search the events with keywords in a specific time period. In addition, users can see their footprints in the past. This postcard can include text, images, audios and videos. The postcard can also involve comments, likes, votes and registration for an event. This project has already been deployed to Google App Engine, click https://hypermap-cmu.appspot.com/ to visit.
Traditional event notice in CMU is via email or posted on websites in different departments, which is very inconvenient and user experience unfriendly. With HyperMap, where we can see all school events on map, We improve the user expereience to a next level and make intensive school life more interesting.
- React
- HTML/CSS/Bootstrap/JavaScript
- Django/python
- Google Map API
- MYSQL
In this project, I recommend events based on categories that the user has favorited. By knowing the category of the item the user registered, I recommend some events belong to this category nearby this user. Concrete steps are as follow.
- Fetch all the events (ids) this user has visited.
- Given all these events, fetch the categories of these events.
- Given these categories, find what are the events that belong to them.
- Filter events that this user has visited.
- Sort the recommendation list on ascending order of distance between recommended events's locations and user's location.
- Webpack
- Django REST framwork 3
- Django 1.11
- python 2/3
Clone the GitHub repository and then import source code under /src into your PyCharm.
git clone https://github.com/weijian2/HyperMap
python manage.py makemigrations
python manage.py migrate
python runserver
- Register account(you need to confirm in your email)
- Right Click Map and click the shown marker to add event
- Click markers to register that event
- Filter events based on categories and dates
- Create group that only group members can see the events
- Register events to get credits! enjoy!:+1:
login page register page main page group page created page
- Click register button multiple times will create same event multiple times. If you find any more bugs, feel free to contact weijian1@andrew.cmu.edu
- Optimize Recommendation system based on user-based algorithm.
- Optimize user experience when creating event.
Deployment Environment: Google App Engine
demo link
(Please contact me at weijian1@andrew.cmu.edu if this instance is not running)
v1.0.0(12/01/2017)
- user can see all events on Google map in main page
- user can register or create event
- System will recommend events to user
NAN
You need to have Django and python installed on local machine in order to run this project or you can click deployed link above to run it remotely.