This app will provide a space for neighbors and friends to exchange items from their gardens with other gardeners.
Component | Story |
---|---|
User Accounts | Users should be able to sign up for an account. |
Neighborhood pods | Users should be able to join or make a Pod based on neighborhood |
Post a offer | Users should be able to create, update, and delete an offer inside of a pod |
Replies | Users should be able to reply to an offer and orginize a trade |
Component | Story |
---|---|
Photo uploads | Users should be able to upload photos for their offers and profiles |
Requests | Users can request an item they would like |
User Profiles | Users can create and update a profile |
Filters | Users can filter offers by categories or item type |
E-Mail Notification | Users can recieve email notifications when someone as replied to their posts |
Slick animations | Use cool animations through out the UI |
- User registration (database storage)
- User login/sign-out (with database authentication)
- User can join a Pod
- User can add a Pod
- User can browse offers made in a Pod
- User can make an offer in a Pod
- User can reply to an offer in a Pod
- User can remove an offer from a Pod
Setup/Installation Requirements
If you do not already have it installed please find a guide for your operating system here Installing Node.js
Clone the project by typing this command into your terminal.
git clone https://github.com/dustatron/victory-exchange.git
Navigate to the new project folder by typing:
cd victory-exchange
Install all required packages with this command:
npm install
Create an new file named '.env'
touch .env
Sign up for an account with Google Firebase and start a project. For more details follow this getting started guide. Getting started with Google Firebase
Please this into your new .env file. Fill in these details with the API keys you got from Google Firebase.
REACT_APP_FIREBASE_API_KEY = "provided by google firebase"
REACT_APP_FIREBASE_AUTH_DOMAIN = "provided by google firebase"
REACT_APP_FIREBASE_DATABASE_URL = "provided by google firebase"
REACT_APP_FIREBASE_PROJECT_ID = "provided by google firebase"
REACT_APP_FIREBASE_STORAGE_BUCKET = "provided by google firebase"
REACT_APP_FIREBASE_MESSAGING_SENDER_ID = "provided by google firebase"
REACT_APP_FIREBASE_APP_ID = "provided by google firebase"
In the project directory, you can run:
npm start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
npm test
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
npm build
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
npm eject
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
The software is provided as is. It might work as expected - or not. Use at your own risk.
- HTML
- JavaScript
- React
- React Bootstrap 4 - Used for styling
- React-Router
- React-Redux
- React-Redux-Firebase
- Firebase
- Firebase Auth
- FireStore
- Node.js
This project is licensed under the MIT License - see the LICENSE.md file for details
Copyright (c) 2020 Dusty McCord