ProfileShell

July 14rd, 2020

Description

Website using firebase/firestore to store userdata. This site allows users to create a profile with an email verification, address, password and username. The users will be able to post and comment in the forums. Users can direct message each other and create groups.

Setup

Make sure you have git version control installed on your computer.

  1. Click the green 'Clone or Download' button and copy the link / download the zip
  2. Open terminal and type... or skip to #4 if you downloaded the zip

Windows

cd desktop

Mac & linux

cd ~/Desktop
  1. in terminal type 'git clone {link to repository} '
git clone {link to repository}
  1. If you downloaded the zip then extract all onto your desktop
  2. Open the folder with VSC or an equivalent

This project was bootstrapped with:

Create React App

Available Scripts

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 run 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 run 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.


Specs

Diagram of react views

Behavior Driven Development Spec List

ProfileShell

Behavior Input Output
Visitors can view but not create posts 'Home Page' 'http://localhost:3000/'
The visitors can create a profile 'Select Create profile' 'Create profile window populates'
The users can post in the forums 'Click create post and populate the form' 'Posts in forum'
Users can comment on posts 'Click on a post, then click on comment' 'Posts comment to forum post'
The users can vote on posts 'Click the upvote' 'Vote added to post'
Most upvoted posted float to the top 'Votes' 'Post Ordering'
Forums can be sorted by a timestamp or most upvotes 'Toggle sorting' 'Sorting swaps between time and votes'
Users can search for other users by username 'Key-Word search' 'Can Select user for a DM or Group Invite'
Users can search the forums by post name 'Key-Word search' 'Can select post and comment and/or vote'
Users can direct message 'Select username and compose message' 'Other user recieves message'
User can view their direct message conversations 'Select messages' 'Conversation display between users'
Users can create groups & invite other users to it 'Create & Invite' 'Group with members'
Users can see who is also in the same group as them 'View the group page' 'User can see a list of other users in the group'
Users can find other users through their groups for direct messaging 'Select member and compose message' 'other user in group recieves message'

Known Bugs

N/A - 7/14/2020


GitHub / gh-pages

WiseFool92.github.io/profileshell


Support

Email: watkins92@gmail.com


Built With

Useful tools





Learn More

You can learn more in the Create React App documentation


To learn React, check out the React documentation


Code Splitting

This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting


Analyzing the Bundle Size

This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size


Making a Progressive Web App

This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app


Advanced Configuration

This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration


Deployment

This section has moved here: https://facebook.github.io/create-react-app/docs/deployment


npm run build fails to minify

This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify


License

This project is licensed under the MIT License

Copyright (c) 2020 Nathan Watkins-Hoagland