Skip to content

ryanblack045/DramaDeets

Repository files navigation

Drama Deets

Drama Deets is a platform for artists to anonymously share their reviews of art related businesses/classes/instructors.

Contributors Forks Stargazers LinkedIn

Thank you for exploring Drama Deets!

View Demo


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact
  7. Acknowledgements
  8. MVP
  9. Front End Routes
  10. Back End Routes
  11. Redux Architecture
  12. Schema

About The Project

Cover Photo

This project was created to provide artists a platform where they can anonymously voice their true opinions on art related businesses without the fear of being black-balled by their industry. It it is still being developed and more features will continue be added.

Currently user’s can only leave on review per business as to prevent people from spamming businesses. Also user’s have the ability to edit or delete their review at anytime.

The admin account for the app has the ability to add/edit/delete businesses based on what user’s are asking for. They also have the ability to delete or edit any review that is found offensive.


Built With


Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

First you will want to clone this repo and then change directories to the react-app directory, from there you will run this from your command line.

  • npm
    npm install

Installation

  1. Get a free API Key at https://developers.google.com/maps/documentation/javascript/get-api-key

  2. Clone the repo

    git clone https://github.com/ryanblack045/DramaDeets.git
  3. Change directories to the react-app directory, from there you will run this from your command line.

    npm install
  4. Create a .env inside the react-app directory with this information.

    REACT_APP_BASE_URL=http://localhost:5000
    REACT_APP_GOOGLE_KEY="yourKey"
  5. Create a postgres database and connect it to the app.

  6. Create a .env from the root directory with this information.

    FLASK_APP=app
    FLASK_ENV=development
    SECRET_KEY=yourSecretKey
    DATABASE_URL=postgresql://YOURDATABASEUSERNAME:YOURDATABASEPASSWORD@localhost/YOURDATABASENAME
  7. Get into your pipenv, migrate your database, seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  8. Run this command from the react-app directory

    npm start


Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Ryan Black - RyanBlack045@gmail.com

Project Link: https://github.com/ryanblack045/DramaDeets


MVP

  1. Users

    • User registration with validations
    • Guest User for demonstration
    • Create/Edit/Delete Review of a business (limited to one review per user)
  2. Businesses

    • Will have google map location with business info displayed
    • Will display reviews/avg rating
  3. Reviews

    • User can create/edit review of business
  4. Likes/Dislikes

    • Users can like/dislike reviews for businesses

Stretch Goals

  • Have an admin account that has ability to take down reviews/businesses(complete)
  • Have a report button on reviews so admin can review if "proof" of review is real
  • Users can search for businesses
  • User must send "proof image" that they did business with the business they reviewed

Front End Routes

  • / (splash page for login/sign up modal)
  • /home (displays home page when user logs in)
  • /business/:id (business page)

Back End Routes

  • users
    • GET api/users/:id -> get a single users info
    • POST api/users => create a new user (returns userId and token)
    • POST api/users/token => verifies user login and returns token for the user
    • PUT api/users/:id -> edit a user's info
    • DELETE api/users/:id => delete a user
  • businesses
    • GET api/businesses/:id => gets a single buisness (returns name, address, state, zipcode, imgurl , description)
    • GET api/businesses => gets all of the buisnesses
    • GET api/businesses/:type => gets all the buisnesses of a certain type
  • reviews
    • GET api/reviews/users/:id => gets all reviews from a single user
    • GET api/buisnesses/:id/reviews => gets all reviews for a single buisness
    • POST api/buisnesses/:id/reviews => create a new review for a single business
    • PUT api/users/:id/reviews/:id => edit a review
    • DELETE api/reviews/:id => delete a review
  • Likes
    • GET api/reviews/:id/likes => gets all likes for a single review
    • POST api/reviews/:id/likes => adds a like to a single review
    • Delete api/reviews/:id/likes =>

Redux Architecture

  • Entity
    • Backend info needed
  • Session
    • current user
    • current post etc
  • UI
    • maintains UI (modal show etc)
  • Errors
    • any errors made by fetch calls/login etc

Schema

Database Schema

About

A web application dedicated to giving artists trustworthy reviews for art related businesses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published