Resolve is an app that helps users track personal goals. Users can create a profile where they can add new goals, list their motivation for achieving said goal, and outline a plan for success. Users can view the goals of others who have created a Resolve profile. In addition to adding new goals, they can also delete and edit the goals associated with their own profile.
Created, designed, and developed by Abir Tawfique (Git Czar), Revati Rajabhathor, and Hannah Reilly. for the General Assembly Software Engineering Immersive (November '19 Cohort) Unit 3 Project.
Team values and expectations can be found on our project's Google document.
Digital assets stored locally and on Imgur.
Resolve is an app that helps users track personal goals. Users can create a profile where they can add new goals, list their motivation for achieving said goal, and outline a plan for success. Users can view the goals of others who have created a Resolve profile. In addition to adding new goals, they can also delete and edit the goals associated with their own profile.
- Allow users to log-in/log-out.
- Allow users to register for the website and create a new profile.
- Allow users to add, delete, and edit the goals on their own profile. -Allow users to mark goals as complete. -Have completed goals change color.
- Once logged in, allow users to click on other user profiles and view their goals (without power to add, edit, or delete).
Use this section to list all supporting libraries and dependencies, and their role in the project.
Library | Description |
---|---|
React | The front-end will be programmed using React. |
React Router Dom | React Router will be used to route users between profiles. |
Express | The back-end will be programmed using Express. |
Express Router | Express Router will be used to create API routes to hit with the frontend. |
Use the Wireframes section to display desktop, tablet and mobile views.
- Desktop Landing
- Desktop Login/Register
- Resource Index
- Resource Profile
Use this section to define your React components and the data architecture of your app.
src
|__ components/
|__ Header.js
|__ LandingPage.js
|__ Login.js
|__ Register.js
|__ Goal.js
|__ CreateGoal.js
|__ UpdateGoal.js
|__ Profile.js
|__ services/
|__ apiHelper.js
Use this section to go into further depth regarding your components, including breaking down the components as stateless or stateful, and considering the passing of data between those components.
Component | Type | state | props | Description |
---|---|---|---|---|
Header | functional | n | y | Reusable component. Depending on if the user is logged in or not, the header will contain the logo, login/register buttons or logo and profile picture + logout. |
Landing Page | functional | n | n | The landing page is a static body element that is plugged into App.JS to create a landing page.. |
Login | class | y | y | Login form. We’ll save the username and password to state that way we can send it to the api call. |
Register | class | y | y | Register form. Very similar to login form. |
CreateGoal | class | y | y | Form that allows user to add a new goal. |
CreateGoal | class | y | y | Form that allows user to update a goal. |
Goal | class | y | y | Reusable component. Will render the goal information through api calls. And depending on if user is logged in, we will show completed, edit, delete buttons. |
Profile | functional | n | y | Reusable component. Will render profile for each user and will render their goals. |
Use this section to estimate the time necessary to build out each of the components you've described above.
Task | Priority | Estimated Time | Time Invested | Actual Time |
---|---|---|---|---|
Header | M | 1 hrs | TBD | TBD |
Landing Page | M | 3 hrs | TBD | TBD |
Login | H | 3 hrs | TBD | TBD |
Register | H | 3 hrs | TBD | TBD |
CreateGoal | M | 3 hrs | TBD | TBD |
UpdateGoal | M | 5 hrs | TBD | TBD |
Goal | M | 4 hrs | TBD | TBD |
Profile | M | 5 hrs | TBD | TBD |
TOTAL | 28 hrs | TBD | TBD | TBD |
- ERD Model
Use this section to display the database, table, and attribute hierarchy.
database_db
|__ users/
|__ goals/
-Register Page: Add typewriter css to say “Get...cooking/running/healthy/git/etc/”
- Landing Page: Allow users to associate themselves with “groups” so they can first see the user profiles from their own group at the top of the page and the user profiles of other groups at bottom of page. -Landing Page: Make user profiles appear as a pop-up on click, as opposed to redirecting to a new page. -Landing Page: Add search-bar functionality to search other users.
- User Profile: Add “member since” date to user profile.
- _Goals Page: when an in-progress goal is completed, push goal to “Done” section.
- Goals Page: Incorporate “created date” of goal in each goal card.
The Delivery section should be expanded and revised as you work on your project.
Use this section to include a brief code snippet of functionality that you are proud of and a brief description.
Use this section to list of all major issues encountered and their resolution, if you'd like.