Skip to content

Commit 963f0e3

Browse files
committed
updates instructions
1 parent d179627 commit 963f0e3

File tree

1 file changed

+57
-69
lines changed

1 file changed

+57
-69
lines changed

README.md

Lines changed: 57 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,78 @@
11
# Back End Project Week
2-
This week you will be building a backend for a note taking app called "Lambda Notes."
32

4-
You are to treat this week as if you are working at a company and the instructor is your client. The teaching assistants are acting as your project managers and will be your main support throughout the week.
3+
This week you will build a backend for a note taking app called "Lambda Notes".
4+
5+
You are to treat this week as if you are working at a company and the instructor is your client. The _Project Managers_ are acting as your company's project managers (duh!) and will be your main support throughout the week.
56

67
The main objective of this week is to develop a backend to support the LambdaNotes app you built during the Front End project week, connect the two projects together, and add some additional features. You will use NodeJS, MongoDB and any other technologies you have learned here at Lambda School.
78

89
## Git Commits
9-
* You are required to showcase progress with at least 1 commit a day. This will let your project manager know where you are and if you need help. This also allows the client to get progress reports from the company in a real world setting. This also protects you from losing your work if your computer blows up.
10-
11-
## Trello Set Up:
12-
* [ ] Use your existing Trello account from the Front End Project, or create a new one
13-
* [ ] Create a new board called "Lambda Notes(Backend) - {Your Name}"
14-
* [ ] Create lists titled `backlog`,`To Do`, `In Progress`, and `Done`
15-
* [ ] Fill in the `To Do` list with the Backend MVP features listed below
16-
* [ ] Fill in the `backlog` list with all the extra features listed below
17-
* [ ] Share your board with the project manager that has been assigned to you. If you have not been assigned yet, reach out to your Section Lead for guidance
18-
* [ ] Add your Trello URL to your project's README.md file. Commit the change, push it to your repository & submit a pull request
1910

20-
## Backend MVP Features:
21-
It is suggested that you deploy the server and database first, before you undergo implementing the logic. Doing this makes the deployment process much simpler, since there's no code yet to complicate the deployment step. We recommend you deploy your server to [Heroku](https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction), and your Mongo database to [mlab](https://docs.mlab.com/). The recommended deployment site for the front end is [netlify](https://www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/).
11+
- You are required to showcase progress with at least 1 commit a day. This will let your project manager know where you are and if you need help. This also allows the client to get progress reports from the company in a real world setting. This also protects you from losing your work if your computer blows up.
2212

23-
Once you have empty projects deployed to these platforms, they can be easily updated with the code you implement as you write it. Additionally, it is recommended that you keep your front end and backend codebases in separate github repos, not under a single umbrella repo. This helps with separation of concerns, plus it helps with deploying, since the different parts of your full-stack codebase need to live on different platforms.
13+
## Trello Set Up
2414

25-
* [ ] Create a Database for your app
26-
* [ ] Design your models for your app. You should have a model for notes and for users. (The users model will come in handy when building out your stretch goals).
27-
* [ ] Deploy your application to the web
28-
* [ ] Create a Node app and connect it to your database
29-
* [ ] Store Notes in your Database
15+
```markdown
16+
[ ] Use your existing Trello account from the Front End Project, or create a new one.
17+
[ ] Create a new board called "Lambda Notes(Backend) - {Your Name}".
18+
[ ] Create lists titled `Backlog`,`Ready/To do`, `Blocked`, `In Progress`, and `Done`.
19+
[ ] Fill in the `To Do` list with the MVP features listed below.
20+
[ ] Fill in the `backlog` list with all the extra features listed below.
21+
[ ] Share your board with the project manager that has been assigned to you. If you have not been assigned yet, reach out to your Section Lead for guidance.
22+
[ ] Add your Trello URL to your project's README.md file. Commit the change, push it to your repository & submit a pull request.
23+
```
3024

31-
Build an API Endpoint for each of the following, and connect it to your React App. These should all be read from your Database and scoped to the logged in user.
32-
* [ ] Display a list of notes
33-
* [ ] Create a note with a title and content
34-
* [ ] View an existing note
35-
* [ ] Edit an existing note
36-
* [ ] Delete an existing note
37-
* [ ] Link up your Front End Project to your new and improved backend
25+
## Backend MVP Features:
3826

39-
Upon your first commit, please submit a Pull Request and add _both_ the **Trello Set Up** and **Backend MVP Features** Task lists to your first Pull Request comment:
27+
It is suggested that you finish all the MVP features before trying to deploy the server and database.
4028

4129
```markdown
42-
## Trello Set Up:
43-
* [ ] Use your existing Trello account from the Front End Project, or create a new one
44-
* [ ] Create a new board called "Lambda Notes(Backend) - {Your Name}"
45-
* [ ] Create lists titled `backlog`,`To Do`, `In Progress`, and `Done`
46-
* [ ] Fill in the `To Do` list with the MVP features listed below
47-
* [ ] Fill in the `backlog` list with all the extra features listed below
48-
* [ ] Share your board with the project manager that has been assigned to you. If you have not been assigned yet, reach out to your Section Lead for guidance
49-
* [ ] Add your Trello URL to your project's README.md file. Commit the change, push it to your repository & submit a pull request
50-
51-
## Backend MVP Features:
52-
* [ ] Create a Database for your app
53-
* [ ] Design your models for your app. You should have a model for notes and for users. (The users model will come in handy when building out your stretch goals).
54-
* [ ] Deploy your application to the web
55-
* [ ] Create a Node app and connect it to your database
56-
* [ ] Store Notes in your Database
57-
58-
Build an API Endpoint in your Node App for each of the following, and connect them to your React App. These should all be read from your Database and scoped to the logged in user.
59-
* [ ] Display a list of notes
60-
* [ ] Create a note with a title and content
61-
* [ ] View an existing note
62-
* [ ] Edit an existing note
63-
* [ ] Delete an existing note
64-
* [ ] Link up your Front End Project to your new and improved backend
30+
[ ] Add data persistenc using a Relational Database. We suggest you start with `SQLite3`.
31+
[ ] Create a Web API for the React application you built in the front-end project week.
32+
33+
Build endpoints for each of the following features:
34+
[ ] Display a list of notes.
35+
[ ] Create a note with a _title_ and _content_.
36+
[ ] View an existing note.
37+
[ ] Edit an existing note.
38+
[ ] Delete an existing note.
39+
[ ] Modify your front-end so that it uses your newly created Web API.
6540
```
6641

67-
***
68-
## Once you have completed the Backend Minimum Viable Product requirements, direct message your project manager for approval. If approved, you may continue working on the Extra Features. Please add the Extra Features to your Task List in the first comment on your PR.
42+
Upon your first commit, please submit a Pull Request and add _both_ the **Trello Set Up** and **Backend MVP Features** Task lists to your first Pull Request comment.
43+
44+
---
6945

70-
Once your MVP has been approved, you have been given a feature list that the client would love to have completed. Your goal would be to finish MVP as soon as you can and get working the list of features.
46+
**Once you have completed the "Minimum Viable Product" requirements, message your project manager for approval**. If approved, you may continue to deploy and work on the Extra Features. Please add the Extra Features you implement to the list you added to the comment on your first PR.
47+
48+
## Deployment
49+
50+
After your PM certifies that all MVP features are complente, it's time to work on deploying it online for the world to see. We recommend you deploy your server to [Heroku](https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction), and your front end to [netlify](https://www.netlify.com/blog/2016/09/29/a-step-by-step-guide-deploying-on-netlify/). Both services provide free tiers and easy to use interfaces. Additionally, it is recommended that you keep your front end and backend codebases in separate github repositories. This helps with deploying, since the different parts of your application will be deployed on different platforms.
7151

7252
## Extra Features:
73-
* [ ] Create a Registration Page that allows users to create accounts for your app and sign in with email/password
74-
* [ ] Write tests for your endpoints and models
75-
* [ ] Be sure to provide documentation for how to interface with your api
76-
* [ ] Allow users to sign in with a third party service (google, facebook, github, club penguin, etc...)
77-
* [ ] Search functionality
78-
* [ ] Allow multiple users to collaborate on notes
79-
* [ ] Add pagination for long lists of notes
80-
* [ ] Create and display tags that can be added to notes and stored in the Database
81-
* [ ] Allow users to clone notes
82-
* [ ] Allow users to attach images to notes
83-
* [ ] Allow users to create Lists and assign notes to a list
84-
* [ ] Setup Auto-Deploy on Heroku
53+
54+
Once your MVP has been approved, you have been given a feature list that the client would love to have completed. Your goal would be to finish MVP as soon as you can and get working the list of features.
55+
56+
```markdown
57+
[ ] Create a Registration Page that allows users to create accounts for your app and sign in with email/password
58+
[ ] Add Unit and Integration Testing.
59+
[ ] Be sure to provide documentation for how to interface with your api
60+
[ ] Allow users to sign in with a third party service (google, facebook, github, club penguin, etc...)
61+
[ ] Search functionality
62+
[ ] Allow multiple users to collaborate on notes
63+
[ ] Add pagination for long lists of notes
64+
[ ] Create and display tags that can be added to notes and stored in the Database
65+
[ ] Allow users to clone notes
66+
[ ] Allow users to attach images to notes
67+
[ ] Allow users to create Lists and assign notes to a list
68+
[ ] Setup Auto-Deploy on Heroku
69+
```
8570

8671
## Super Duper Extra Credit Bonus Features
87-
* [ ] Add a payment form integrating with Stripe that allows Users to buy a "Premium" version of LambdaNotes.
88-
* [ ] Gate your favorite feature behind the premium paywall
8972

90-
You will notice that this repository does not have any starter code. This is on purpose. You are to start from scratch using any files you have built throughout your time here at Lambda School.
73+
```markdown
74+
[ ] Add a payment form integrating with _Stripe_ that allows Users to buy a _"Premium"_ version of LambdaNotes.
75+
[ ] Gate your favorite feature behind the _premium_ paywall
76+
```
77+
78+
You will notice that this repository does not have any starter code. This is on purpose. You are to start from scratch using any files you have built throughout your time here at Lambda School.

0 commit comments

Comments
 (0)