spmcdonnell / speak-out-fe-test

Sandbox for experimenting with front end code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚫 Note: All lines that start with 🚫 are instructions and should be deleted before this is posted to your portfolio. This is intended to be a guideline, feel free to add your own flare to it.

🚫 The numbers 1️⃣ through 5️⃣ next to each item represent the week that part of the docs needs to be comepleted by. Make sure to delete the numbers by the end of Labs.

🚫 Each student has a required minimum number of meaningful PRs each week per the rubric. Contributing to docs does NOT count as a PR to meet your weekly requirements.

1️⃣ Title of project goes here

1️⃣ You can find the deployed project at [🚫URL NAME GOES HERE](🚫copy and paste URL here).

4️⃣ Contributors

🚫Add contributor info below, make sure add images and edit the social links for each member. Add to or delete these place-holders as needed

Student 1 Student 2 Student 3 Student 4 Student 5


🚫 4️⃣ Optional examples of using images with links for your tech stack, make sure to change these to fit your project

MIT React Typescript [Netlify Status](netlify link goes in these parenthesis) code style: prettier

🚫 more info on using badges here

Project Overview

1️⃣ Trello Board

1️⃣ Product Canvas

1️⃣ [UX Design files](🚫add link to design files here) - 🚫 delete if not applicable

🚫 Replace lorem ipsum with a description of your project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

4️⃣ Key Features

  • feature one
  • feature two
  • feature three
  • feature four
  • feature five

1️⃣ Tech Stack

Front end built using:

_Front end framework is React

  • familiarity is one the biggest advantage using React, everyone can start coding right day one.
  • a popular js library that is fast, scalable, simple, and maintained by a lot of developers.
  • We also are likely to have a need to reuse modular units of code (due to student info) that will appear in our various routes/views.
  • We also want something that is performant and easy to maintain/extend.

List the rest of the front end features and libraries in the same format as the framework above.

Material UI - a UI framework that works well with React.

  • For primary styling of the site. Given the number of developers who may work on the app, there could be difficulty achieving stylistic uniformity across all views (the "too many cooks in the kitchen" issue). Material UI would allow for a clean and consistent user interface, and save time, since it is implemented in a standard way regardless of who is using it.
  • Pros: Reusable, prebuilt components save time

Styled Components - an add-on for creating dynamic styles directly in React components.

  • Use Case: Having a base library implemented for overall site styling will cover most use cases, but we may need more flexibility on a per-component basis and the ability to add/alter styles dynamically based user interaction/the state of the application, and Styled Components can provide this.
  • Pros: easy to use, easy to create, can make them custom

Front end deployed to 🚫insert service here

Back end built using:

back end framework are Node JS and Express

  • Node.js is an open-source, cross-platform, JavaScript run-time environment that executes JavaScript code outside of a browser.
  • Node.js allows the team to build platform-independent web apps.
  • Popular, easy to use, and allows us to write JS on the backend, access to NPM packages
  • Express is a web server application designed for building web applications and APIs. It has been called the de facto standard server framework for Node.js.
  • On Top of Node.js it allows the team to make a REST API to make a web server and it allows flexibility through the routes api that express provides.
  • It's highly flexible for all different kinds of API requirements, supports middleware which are easy to create, and a huge number of packages available on NPM.

List the rest of the back end end features and libraries in the same format as the framework above

PostgreSQL - also known as Postgres, is a free and open-source relational database

  • Using postgresql will help us link up data to one another which will help us identify data uniquely.
  • Popular, well-supported, well-documented and has a free tier for developing environments.

SQLite3 (For Local Testing) - SQLite is a relational database management system contained in a C library.

  • Sqlite3 will help us make a local database to make testing easier.

Passport JS - A extremely flexible and modular authentication middleware for express.

  • PassportJS will give us a way to handle authentication in different strategies based on the stakeholders needs.
  • Passport is a well documented authentication library and works very well with node and express

APIs

2️⃣ Authentication API here

🚫Replace text below with a description of the API

Water's like me. It's laaazy ... Boy, it always looks for the easiest way to do things A little happy sunlight shining through there. Let all these little things happen. Don't fight them. Learn to use them. Even the worst thing we can do here is good.

2️⃣ Payment API here

🚫Replace text below with a description of the API

This is the way you take out your flustrations. Get away from those little Christmas tree things we used to make in school. Isn't it fantastic that you can change your mind and create all these happy things? Everything's not great in life, but we can still find beauty in it.

3️⃣ Misc API here

🚫Replace text below with a description of the API

You can do anything your heart can imagine. In life you need colors. This is where you take out all your hostilities and frustrations. It's better than kicking the puppy dog around and all that so. I'm sort of a softy, I couldn't shoot Bambi except with a camera. Trees get lonely too, so we'll give him a little friend. We'll lay all these little funky little things in there.

3️⃣ Misc API here

🚫Replace text below with a description of the API

When you do it your way you can go anywhere you choose. Let your heart take you to wherever you want to be. If I paint something, I don't want to have to explain what it is. A tree needs to be your friend if you're going to paint him. That's a son of a gun of a cloud. Even the worst thing we can do here is good.

3️⃣ Misc API here

🚫Replace text below with a description of the API

Volunteering your time; it pays you and your whole community fantastic dividends. Maybe there's a happy little waterfall happening over here. You can spend all day playing with mountains. We don't have to be committed. We are just playing here. You have freedom here. The only guide is your heart. It's cold, but it's beautiful.

3️⃣ Environment Variables

In order for the app to function correctly, the user must set up their own environment variables. There should be a .env file containing the following:

🚫These are just examples, replace them with the specifics for your app

*  REACT_APP_apiKey - this is your Google API key, which can be generated in the Google Cloud Console
*  REACT_APP_authDomain - when you set up your Firebase project, this information will be in the dashboard
*  REACT_APP_databaseURL - in the Firebase dashboard
*  REACT_APP_projectID - in the Firebase dashboard
*  REACT_APP_storageBucket - in the Firebase dashboard
*  REACT_APP_messagingSenderId - in the Firebase dashboard
*  REACT_APP_stripe_API - this is your public Stripe API key, generated in the Stripe dashboard
*  REACT_APP_backendURL - optional for your local development server
*  REACT_APP_clientid - this is the Stripe_connect clientID, generated in Stripe_connect settings
*  REACT_APP_stripe_plan - this is the ID for a second Stripe subscription plan, generated under Stripe products

5️⃣ Content Licenses

🚫For all content - images, icons, etc, use this table to document permission of use. Remove the two placeholders and add you content to this table

Image Filename Source / Creator License
doodles.png Nicole Bennett Creative Commons
rings.svg Sam Herbert MIT

4️⃣ Testing

🚫Document what you used for testing and why

4️⃣ Installation Instructions

🚫explain how to install the required dependencies to get this project up and running with yarn and NPM

Other Scripts

🚫replace these examples with your own

* typecheck - runs the TypeScript compiler
* build - creates a build of the application
* start - starts the production server after a build is created
* test - runs tests in **tests** directory \* eject - copy the configuration files and dependencies into the project so you have full control over them

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Please note we have a code of conduct. Please follow it in all your interactions with the project.

Issue/Bug Request

If you are having an issue with the existing project code, please submit a bug report under the following guidelines:

  • Check first to see if your issue has already been reported.
  • Check to see if the issue has recently been fixed by attempting to reproduce the issue using the latest master branch in the repository.
  • Create a live example of the problem.
  • Submit a detailed bug report including your environment & browser, steps to reproduce the issue, actual and expected outcomes, where you believe the issue is originating from, and any potential solutions you have considered.

Feature Requests

We would love to hear from you about new features which would improve this app and further the aims of our project. Please provide as much detail and information as possible to show us why you think your new feature should be implemented.

Pull Requests

If you have developed a patch, bug fix, or new feature that would improve this app, please submit a pull request. It is best to communicate your ideas with the developers first before investing a great deal of time into a pull request to ensure that it will mesh smoothly with the project.

Remember that this project is licensed under the MIT license, and by submitting a pull request, you agree that your work will be, too.

Pull Request Guidelines

  • Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  • Update the README.md with details of changes to the interface, including new plist variables, exposed ports, useful file locations and container parameters.
  • Ensure that your code conforms to our existing code conventions and test coverage.
  • Include the relevant issue number, if applicable.
  • You may merge the Pull Request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.

Attribution

These contribution guidelines have been adapted from this good-Contributing.md-template.

Documentation

See [Backend Documentation](🚫_link to your backend readme here_) for details on the backend of our project.

About

Sandbox for experimenting with front end code

License:MIT License


Languages

Language:JavaScript 88.7%Language:HTML 8.1%Language:CSS 3.2%