Giter Site home page Giter Site logo

meili's Introduction

Meili

Travel planning app, to travel with friends without the headache of planning with them.

Dependencies

  1. Install npm and nodemon globally on your machine.
  2. Install cockroachdb from here on your machine.
  3. To run tests install bats and jq.

Setup

  1. In the home directory, run npm run setup.
  2. Run npm run start to start the frontend and backend servers concurrently.
  3. Once you see that two servers are running (there might be a compile time lag for the frontend), connect to localhost:1024 (the port is set to 80) on your browser to see the application running.

Footnotes

Current code based off of tutorial found here.

meili's People

Contributors

pbardea avatar justinli610 avatar yeminlemon avatar

Stargazers

 avatar

Watchers

 avatar Tammy avatar

Forkers

pbardea

meili's Issues

Collaboration: wrong trip data displays when switching trips

When multiple users are editing the same trip and one or more of those users switches to a different trip, this can cause issues where the trip model switches to the wrong trip for one or more of those users. More investigation is required to reproduce but it's likely that some real time trip model data is not updating properly.

Lint errors fail build

Currently, the linter fails the build if anything is caught. This slows down development when we just want to paste in code and try it out. Ideally the linter should output the error but not fail the build.

Drag and drop for first card is broken

The D&D handle for the first card in a list is not usable. Also, during the drag operation, the timeline appearance glitches and shows a dotted line above the first element.

Adding collaborators doesn't work

Adding a collaborator removes all other collaborators from trip. The expected behaviour is that it adds this collaborator to the trip.

New threads/messages need an author field

Specifically, right now I have the frontend working with:

{
  // some data here
  authorName: string,
  authorPicture: string,
}

but it's not being saved to the DB right now.

Error and success alerts

We currently do not have any alerts that say whether an action was a "Success" or an "Error" so the user can only see whether something is created or not to see the result of their action.

Example: When creating a trip, you see that a trip is created thus you assume it was a success. However if there was an error, you don't know if the app is slow to respond or if you did something wrong.

Something like this would be ideal: https://vuejs-pt.github.io/vue-alert/example/dist/

Polish threads

  • Add thread and comment author
  • Polish UI for thread
  • Polish UI for messages
  • Fix bugs with the inputs
  • Optional: Resolve threads

Investigate saving and loading

Please find out if all components of the trip persist properly

  • Adding/removing/updating a card
  • Reordering cards
  • Renaming the trip
  • Threads: adding

Can't render global CSS

I can't for the life of me figure out how to make only one CSS file and use that one globally along with the local scoped CSS. If there is a global one then it would make styling a lot easier since we reuse a lot of components.

It'd be even nicer if we can have SASS working.

Functions can't access file-global consts

Currently the app does not render on my machine for the following reason. In utils/auth.js, the getIdToken function cannot access the ID_TOKEN_KEY variable:

const ID_TOKEN_KEY = 'id_token';

export function getIdToken() {
  return localStorage.getItem(ID_TOKEN_KEY);
}

Specifically the issue is:

[Vue warn]: Error in render: "ReferenceError: Can't find variable: ID_TOKEN_KEY"

found in

---> <PublicBattles> at src/components/publicBattles.vue
       <App> at src/App.vue

One workaround is to define all the constants in the functions that use them... but I feel like there's something else going on that I'm missing...

Responsive Design

Would be nice to fix up the responsive design of the site.

Things that I've noticed when width gets small:

  • Trip list is not handled well
  • Neither is the detail view

Allow editing trip metadata

What we should have:

  • On creating a trip, you can upload a picture.
  • On a trip, there should be an option to edit the picture.

Map updates should not hook into events

The markers on the map refresh any time there is an update with events. This is unnecessary and causes flickering in the UI. The map should listen on its own data (maybe a map from cardID to marker object).

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.