Read&&Butter
Judgment free zone blog app where we don't place likes or comments on articles you posted. Simply put an open medium with no judgment.
- Allow users post articles
- Users of the articles are able to edit and delete their articles
- People are able to create a user account with passwords
- Authentication
Use this section to list all supporting libraries and dependencies, and their role in the project. Below is an example - this needs to be replaced!
Library | Description |
---|---|
React | React |
React Router | Route |
TailWind | Front End CSS library |
Axios | Database assistant |
Bcrypt | Encryption |
JWT | Webtokens |
- Desktop Landing
- Mobile
- Tablet Resource
src
|__ App.jsx //Holds State
|__ Pages/
|__ About.jsx
|__ Home.jsx
|__SignUp.jsx
|__SignIn.jsx
|__ Shared/
|__ Articles.jsx
|__ Edit.jsx
|__ Header.jsx
|__PostMaker.jsx
|__ services/
|__ auth.js
|__ apiHelper.js
|__ apiconfig.js
|__articles.js
Component | Type | state | props | Description |
---|---|---|---|---|
App | Class | y | n | Where State Exists |
Articles | Class | n | n | The header will contain the navigation and logo will direct back to. |
PostMasker | functional | n | n | Creates articles. |
Header | Class | n | n | The header will contain the navigation and logo will direct back to. |
Navigation | class | n | n | The navigation will provide a link to each of the pages. |
SignIn | Functional | n | y | Allow users to log in. |
SignUp | Functional | n | y | Allow users create an account |
About | class | n | y | About Read&& Butter |
Home | class | n | y | Home Page |
Edit | class | n | y | Edits articles |
Delete | class | n | y | Deletes articles |
Task | Priority | Estimated Time | Time Invested |
---|---|---|---|
Add Login Form | L | 3 hrs | 3hrs |
Create CRUD functionality | H | 6 hrs | 8hrs |
Create User Authentication | L | 3 hrs | 1hrs |
Components | L | 7 hrs | 5hrs |
Create React App | H | .5 hrs | .1hrs |
CSS using tailwind | L | 8 hrs | 4hrs |
Ruby backend scaffold | H | 4 hrs | 1.5hrs |
Incorporate Backend => Frontend | H | 3 hrs | 5hrs |
TOTAL | 42hrs | 27 hrs |
- Tags - When turned visible, will take you a feed with all posts that have the same tag.
// Found in App.js
handleEdit = async (tag_id, Id, Info) => {
const updatedArticle = await putArticle(tag_id, Id, Info);
this.setState(prevState => ({
articles: prevState.articles.map(article => article.id === Id ? updatedArticle : article)
}))
this.props.history.push('/')
};
//Found in Edit.jsx
componentDidUpdate=(prevProps)=>{
if(prevProps.article !== this.props.article){
this.setFormData()
}
}
handleChange = (e) => {
const { name, value } = e.target
this.setState({ [name]: value })
}
Removed Navigation bar due to implementation on the header.
Tailwind card logic used