- Clone this repository
cd
into the directory it creates- Make a
database.json
file in theapi
directory - Delete the
.ignore
file in theapi
directory
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 a dashboard for people to use to organize their daily tasks, events, news article, friends, and chat messages.
You will be utilizing all of the skills and concepts that you've learned up to this point in the course.
- Functions
- Databases
- Github
- Objects
- CSS/Flexbox
- Array methods
- Components
- Handling user events
- Implementing CRUD operations
- Relational data
- ERDs
To start you off, here's an example of what the resources in your API should look like once it's populated with some data from your application.
{ "id": 1, "username": "Steve", "email": "me@me.com", "password": "xxxxxxxxxxxxxxxxxxxxx" }
{ "id": 1, "userId": 1, "message": "What's up?" }
{
"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"
}
{ "id": 1, "userId": 1, "following": 3 }
{ "id": 1, "userId": 3, "task": "Take out garbage", "complete": false }
- 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
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 LoginForm
and RegisterForm
components so that you see what is going on, but you do not need to change it. However, you will have to use a custom message that is being dispatched by those components.