/app

Front-end of networking app.

Primary LanguageVueMIT LicenseMIT

Alchemy Connect

Make the most of your networking efforts

alt text

This mobile-enabled web application provides a quick way to create, store, review, and edit information about networking events you've attended and the contacts you met there.

Deployment

This application is available at https://alchemy-connect.herokuapp.com/#/ (there may be a slight loading delay due to Heroku Dynos waking up)

To run this application locally:

  1. Download files from both repositories (described below) and place them in a single folder.
  2. Create a postgres database and enter the connection string in an .env file on the server side.
  3. Run 'npm i' to install all dependencies.
  4. In the server folder, run 'npm run db-load-all' to create tables and seed starter data.
  5. Start the express server.
  6. In the app folder, start the Vue server.

Structure

The code for this application is stored in two separate repositories. This readme covers both the server and application sides.

Server

  • Seed data is stored as JSON files in server/data.
  • Scripts to create tables and populate tables are stored in server/scripts.
  • All http routes are defined in server.js.

App

File Purpose
app/App.vue This is the parent component for the application. Handles user login status.
app/main.js Creates the vue and router instance
app/router.js Defines the router paths
app/services/api.js Provides functions to interact with database
app/components/NavBar.vue Always visible when the user is logged in. Main navigation.
app/components/LoginForm.vue Enables login and signup.
app/components/Dashboard.vue Enables users to switch between a list of their events or a list of their contacts.
app/components/EventsList.vue Displays all of a user's events in a list. Enables deletes.
app/components/EventsForm.vue Allows creating and editing events.
app/components/ContactsList.vue Displays all of a user's contacts in a list. Enables deletes.
app/components/ContactsForm.vue Allows creating and editing contacts. Every contact is a child of an event.