Giter Club home page Giter Club logo

campus-maps's Introduction

Campus Maps is a crowd-sourced platform that offers detailed locations of individual classrooms of university campuses. Users can share written directions and tips to individual classrooms via comments as well as upload images to guide other users to their destinations.

Features

  • Interactive map from MapboxGL
  • Comment sections and image uploads
  • Data submission system
  • Google OAuth 2.0 login
  • Moderator panels for moderators

About the Tech

Campus Maps is written in TypeScript using React.js, Redux, Node.js, Express.js, and MongoDB. Its interactive map is powered by MapboxGL.

To store additional location data beyond those provided by MapboxGL, we maintain MongoDB documents that live in parallel to Mapbox's data. This handles any future changes to Mapbox's locations data (e.g., construction of new buildings). To minimize server strain, all parallel data is lazy initialized in an event-driven manner when users first load a location page.

With the exception of the map page, Campus Maps is a single-page application to improve loading speed for users. In addition, we've adopted the mobile-first design strategy for the UI to improve UX.

Contributing

Contributions should follow our contribution guide.

License

Campus Maps is distributed under the MIT license. See LICENSE for details.

campus-maps's People

Contributors

chriscerie avatar dependabot[bot] avatar imgbot[bot] avatar jasonem225 avatar jwangathan avatar mpbonham avatar sarahkwon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

campus-maps's Issues

Add navigation feature

Add navigation that can be accessed from pop up
Gives shortest path (bike or walking) from current location/starting location to destination

Split testing into server/client/integration

We are currently using one test run for the entire application. We likely will want to split it into server/client/integration. Coveralls unfortunately wasn't working when we tried aggregating reports from multiple test runs. We can reattempt in the future with Coveralls or switch to Codecov.

Edit footer

Make footer more professional and fit the app

MVP + Demo

  • get together for MVP and submit
  • ask 1+ questions during demo

Lazy rendering map only after visiting home page

Currently, the map renders unconditionally. This increases loading times for people who visit other pages (e.g., profile page) and don’t need the map. We should lazy load the map only after the user visits the home page.

Create profile page

  • User can access profile page from profile picture on homepage
  • Profile page displays user information

Add footer

Should render on all pages except homepage

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.