Contrive is an event management software platform that connects Event Planners with their local Vendors. With enhanced search features, Planners can find the types of Vendors they most want to do business with and can easily connect with them utilizing the message feature.
JS, HTML, CSS, React, Material-UI, Moment.js, Redux, Redux-Sagas, Node, Express, Passport, Socket.io, AWS, Postico and PostgreSQL (a full list of dependencies can be found in package.json
).
Before you get started, make sure you have the following software installed on your computer:
Create a new postgreSQL database named contrive_db
and copy all text in the database.sql file saved in the root folder of this repository. Paste all the copied text as a SQL query (Postico was used for original database creation) and execute the queries sequentially (Note: DROP TABLE queries at the top of the document will not do anything on initial setup since there are no tables yet created, and these DROP TABLE queries should be used carefully, as they permanently delete tables and any stored data therein.)
- Run
npm install
- Create a
.env
file at the root of the project and paste this line into the file:While you're in your newSERVER_SESSION_SECRET=superDuperSecret
.env
file, take the time to replacesuperDuperSecret
with some long random string like25POUbVtx6RKVNWszd9ERB9Bb6
to keep your application secure. Here's a site that can help you: https://passwordsgenerator.net/. If you don't do this step, create a secret with less than eight characters, or leave it assuperDuperSecret
, you will get a warning. - Start postgres if not running already by using
brew services start postgresql
- Run
npm run server
- Run
npm run client
- Navigate to
localhost:3000
Directory Structure:
src/
contains the React applicationpublic/
contains static assets for the client-sidebuild/
contains the transpiled code fromsrc/
andpublic/
that will be viewed on the production site (Heroku)server/
contains the Express App
This code is commented in each individual file with the aim to make it accessible.
- Dusty Meyers Dusty's Site
- Jason Lin Jason's Site
- John Shands John's Site
- McKynlee Westman McKynlee's Site
- William Krug William's Site
Thanks to Prime Digital Academy who equipped us with the skills to make this application a reality.