The Palm Beach Pilots are Chris Douglas, Colten Mayberry and Chad Clark from Cohort 47 of the Nashville Software School Full Stack Fulltime Web Development program.
Reactive Nutshell is an application that can be used to organize a person's daily tasks, upcoming events, news articles, and friends they can choose to chat with.
It is built on:
In the root folder of project, run:
npm install
npm install json-server
In the api
directory, create a copy of the database.json.example
and remove the .example extension.
Then run:
json-server -p 8088 -w database.json
To start the project:
npm start
Reactive Nutshell uses two different weather APIs:
Both of which require keys and both of which are free to use in the capacity they are being used in this application.
Once you have keys for both APIs you can copy WeatherSettings.js.example
and remove the .example
extension.
Inside WeatherSettings.js you can include your api keys into the quotes of weatherKey
(OpenWeather) and weatherKey2
(Weatherbit.io).
WeatherSettings.js
is included in the.gitignore
so you do not have to worry about exposing your API keys.
- Clone this repository
cd
into the directory it creates- In the
api
directory, create a copy of thedatabase.json.example
and remove the.example
extension. - Run
json-server -p 8088 -w database.json
from theapi
directory. - Run
npm install
and wait for all dependencies to be installed. - Run
npm start
to verify that installation was successful.
Note: Your
database.json
file is already in the.gitignore
file for this project, so it will never be added to the repo or pushed to Github.
Nutshell is a new product offering that you have been tasked with building. It's an app for people to use to organize their daily tasks, events, news article, friends, and chat messages.
You will be using the React library to build out this application.
To start you off, here's an example of what some of the resources in your API should look like once it's populated with some data from your application.
{ "id": 1, "name": "Steve Brownlee", "email": "[email protected]" }
{ "id": 1, "userId": 1, "currentUserId": 3 }
{
"id": 1,
"userId": 2,
"url": "https://www.quantamagazine.org/newfound-wormhole-allows-information-to-escape-black-holes-20171023/",
"title": "Wormholes Allow Information to Escape Black Holes",
"synopsis": "Check out this recent discovery about workholes",
"timestamp": "2021-02-11T15:24"
}
- All teammates must use React and JSON-server.
- Each module should have a comment at the top with the following info: author(s) and purpose of module
- The README for your project should include instructions on how another person can download and run the application
- An ERD showing the database relationships. A screenshot/image should be included on your README.
We want you to know that the login and registration code we have given you is fake, completely insecure, and would never be implemented in a professional application. It is a simulation authentication using very simplistic tools, because authentication is not a learning objective of students at NSS.
You will be using session storage to keep track of which user has logged into Nutshell. You need to read the code in the Login.js
and Register.js
components so that you see what is going on, but you do not need to change it.
- Use acceptable conventions
- Logo positioned at top left
- Navigation across the top or down the left side
- Visual hierarchy
- Most important information is the most prominent
- Break pages up into defined sections
- Logically related content should be related visually
- That which is clickable should be obviously clickable.
- Eliminate distractions
- Use only two typefaces
- Limit color pallet (3 colors with black and white)
- Use a grid
- Support scanning (users don't read)
- Use plenty of headings
- Short paragraphs
- Bulleted lists
- Strive for consistency.