Coder Social home page Coder Social logo

wavey's Introduction

Banner Image for Matt Cooper GitHub Profile

Hey! I'm Matt ๐Ÿ‘‹๐Ÿผ

I am a frontend developer with professional experience using React, JavaScript, CSS, Python (Django and Flask), PHP, SQL, Heroku and AWS.

Feel free to check out my repos below!

I am honing my craft every day by building responsive web applications/websites. I am currently delving into WebGL land through three.js and p5.js to create some interesting animated web interactivity.


Contact Me

linkedin

gmail


My Tech Stack

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป I'm Currently Learning

Node.JS

๐ŸŽจ Designs & Wireframes

Canva Balsamiq

< > Programming Languages

HTML5 CSS3 JavaScript Python

๐Ÿ“š Libraries & Frameworks

React Three Bootstrap Materialize jQuery Font Awesome

Flask Jinja Django

๐Ÿ—ƒ Databases

MongoDB Postgres MySQL

๐Ÿก Hosting

Heroku

  • ๐Ÿงช Testing

Jest Cypress

๐Ÿ’ป Version Control, IDE's & Other Coding Content

Git GitHub

GitPod VS Code

Markdown

Setup:

Apple Firefox browser

๐Ÿ”ฎ Personal Future Learning Plans

Figma


wavey's People

Contributors

mattcooperdev avatar

Stargazers

 avatar

Watchers

 avatar

wavey's Issues

User Story : Early Heroku Deployment

As a Developer I want to deploy to Heroku early so that I can check everything is working correctly before developing the Site

Tasks

  • Create a new Heroku App
  • Add the database to the app resources
  • Add the secret keyโ€™s to the Heroku config vars
  • Configure the settings.py file to look at env.py, the os in deployment and correct database url from Heroku.
  • Add cloudinary API to env.py and Heroku config vars
  • Adjust the settings.py file to look at the required Cloudinary libraries

Epic: #1

EPIC : Post interaction

As a User I can interact with a post so that I can provide feedback and interact with the community

Potential User Stories

  • Be able to add comments to a post
  • Notification if somebody makes a comment on your post
  • Notification if somebody replies to a comment
  • Report inappropriate comments to admin
  • Be able to control notifications of posts/comments

EPIC : User Posts

As a User I can Create, Read, Update and Delete Posts so that I can share my posts with others on the site

Potential User Stories

  1. Users have the ability to create posts
  2. Users have the ability to view other posts
  3. Users have the ability to update the posts they have created
  4. Users have the ability to delete a posts

EPIC : Post Search

As a User I can search for posts so that I can better my subject knowledge

Potential User Stories

  • Search by date added - find new posts
  • Search by title
  • Search by user
  • Search by tags

EPIC : User Profile

As a User I can create, read, update and delete my User details so that I can use the Site and it's functionality

Potential User Stories

  1. Potential User Stories
  2. Create an account
  3. View my own account
  4. Edit my own account
  5. Delete my account
  6. Change my password
  7. Reset my password if I forget it

Iteration:

Points:

Epic:

User Story : User can edit their profile

As a User I can edit my profile so that I can keep my information up to date

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am logged into my account
    When I am viewing my profile
    Then I should be able to edit those details

  • Acceptance Criteria 2
    Given that I am logged into my account
    When I click on the edit profile button
    Then I am taken to the relevant page to do so

  • Acceptance Criteria 3
    Given that I am not logged in to my account
    When I go to any profile page
    Then I do not see the edit profile button

  • Acceptance Criteria 4
    Given that I am not logged in to my account
    When I try and go directly to mine or somebody's edit profile page through their URL
    Then I get redirected to the login page

Tasks

  • Develop a way for Users to edit their own profile
  • Create a page where profiles can be edited
  • Add a button to a Users profile that only shows when they are logged in
  • Prevent Users from accessing other Users' edit profile page
  • Prevent Users accessing their own edit profile page when not logged in

Epic: #2

User Story : Responsive Design

As a Site Owner I want my Site to be fully responsive so that visitors to the Site have a good experience on any device

Acceptance Criteria

  • Acceptance Criteria 1
    Given I am a user is accessing the Site on a smartphone
    When I navigate through the Site
    Then all pages are correctly formatted
  • Acceptance Criteria 2
    Given I am a user is accessing the Site on a tablet
    When I navigate through the Site
    Then all pages are correctly formatted
  • Acceptance Criteria 3
    Given I am a user is accessing the Site on a laptop
    When I navigate through the Site
    Then all pages are correctly formatted
  • Acceptance Criteria 4
    Given I am a user is accessing the Site on a desktop
    When I navigate through the Site
    Then all pages are correctly formatted

Tasks

  • Develop all pages to be responsive on smartphones
  • Develop all pages to be responsive on tablets
  • Develop all pages to be responsive on laptops
  • Develop all pages to be responsive on desktop
  • Develop accessibility for screen readers

Epic: #4

User Story: View posts

As a User I can access and view the posts on the Site so that I can read and follow along with them when needed

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am visiting the Site
    When I click to view all posts
    Then I am presented with a list of all posts

  • Acceptance Criteria 2
    Given that I am visiting the Site
    When I click on a post preview
    Then I am taken to the full post page

Tasks

  • Develop a link to access all posts on the Site
  • The posts page should have a paginated view of all posts
  • All posts should be summarised on a card
  • Develop a link from the card to the full post page
  • Create a full post page which shows the full post content

Epic: #5

User Story: Comment on a post

As a User I can comment on a post so that I can contact the author

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User
    When I am in the post detail view
    Then I can see the comment box
  • Acceptance Criteria 2
    Given that I am a registered User
    When I add text to the comment box
    Then I can add a comment to that post

Tasks

  • Create comment section in post detail page
  • Allow box to be visible only to registered Users
  • Develop comment posting
  • Show list of comments to registered Users only

Iteration:

Points:

Epic: #3

USER STORY : Django Setup

As a developer I can install Django and setup the necessary libraries so that I am ready to start development

Tasks

  • Install Django
  • Install dj_database_url psycopg2
  • Install dj3-cloudinary-storage
  • Create a requirements.txt file
  • Create the Django project
  • Create the first app โ€“ called posts and add it to the installed apps in the settings.py

Epic: #1

User Story: Like a Post

As a User I can like a post so that I can notify the author that I like their content

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User
    When I look at another post
    Then I can see the like button
  • Acceptance Criteria 2
    Given that I am a registered User
    When I click on the like button
    Then a like is added to the overall count on the post
  • Acceptance Criteria 3
    Given that I am an unregistered User
    When I access a post
    Then I cannot click the like button
  • Acceptance Criteria 4
    Given that
    When the
    Then

Tasks

  • Develop a like button in the post detail view
  • Make the button visible to registered users
  • Make the button hidden/inactive for unregistered Users
  • Develop a method to count the like when the button is clicked (and remove the count when unchecked)

Epic: #5

EPIC : Post Viewing

As a User I can view posts clearly so that I can follow them easily

Potential User Stories

  • Clear post layout - media is clear and concise
  • Easy to read on all types of devices

Clear recipe layout so its easy to identify which part is which
Easy to read on mobile devices - more likely to be used in the kitchen than a desktop/laptop device
Easy to print out
Easy to view multiple recipes at the same time - summary cards

User Story : Django Secret keys

As a Developer I can store the development secret keys in Django so that no sensitive data is compromised

Tasks

  • Create an env.py file to store the environment variables needed such as the api keys and DB secret keys
  • Update Django to point to the new locations for the secret keys
  • Add the env.py file to the .gitignore file so that it does not get pushed to GitHub

Epic: #1

User Story : User can view profile

As a user I can see what is in my profile so that I understand what other users can see about my profile

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am logged in to my account
    When I can select the option to view my profile
    Then I see how my profile is displayed to to other users

  • Acceptance Criteria 2
    Given that I am logged in to my account
    When I select a username associated to a post
    Then I am directed to their full profile page

Tasks

  • Create a link for logged-in users to view their profile
  • Whenever a username is selected on the Site it directs to their full profile page

Epic: #2

EPIC : User Login

As a User I can log in and log out so that I can access the Site and restrict others from using my profile

Tasks

  • Login or Logout through auth
  • Restrict certain actions if User not logged in

User Story : Delete a Post

As a User I can delete one of my posts so that I have control over anything i have shared

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User with posts created
    When I navigate to a post I would like to delete
    Then I have the option to do so

  • Acceptance Criteria 2
    Given that I am a registered User with posts created
    When I have selected the post I wish to delete
    Then I am greeted with a confirmation request before the post is deleted

  • Acceptance Criteria 3
    Given that I am a registered User with posts created
    When I have confirmed the post I wish to delete
    Then the post is deleted from my account

  • Acceptance Criteria 4
    Given that I am an unregistered User or not logged in
    When I am on a post
    Then I do not have the option to delete a post

Tasks

  • Develop a delete post button that shows on the full post page when the logged in User is the post author
  • Develop a confirmation window that appears once the delete button has been pressed
  • Develop the code to delete this post is the above criteria is met
  • Prevent unregistered users or non-authors of a post from seeing the delete post button

Epic: #5

User Story : Create a User Account

As a User I can create an account so that I can create, save and like posts

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am an unregistered User
    When I access the Site
    Then I can register as a User

  • Acceptance Criteria 2
    Given that I am an unregistered User
    When I am on the user registration page and input a valid Username, email address and password
    Then the system creates me an account

  • Acceptance Criteria 3
    Given that I am a registered User
    When I am logged into my account
    Then I can create my own post and see what posts I have saved

  • Acceptance Criteria 4
    Given that I am a registered User
    When I have logged into my account
    Then I can no longer see the register button

Tasks

  • Develop a way for a user to create an account
  • Develop a button in the NavBar/Call to Action that takes them to registration page
  • Create user registration form
  • Remove register button once user is signed in
  • Once registered/singed in, show button to create post which takes user to create post page.

Epic: #2

User Story : Create a Post

As a User I can create a post so that I can share my knowledge with others

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am User logged in to my account
    When I go to the home page
    Then I have to option create a post

  • Acceptance Criteria 2
    Given that I have created a post as a logged-in User
    When I save that post
    Then it can be viewed by other Users on the site

Tasks

  • Develop a form for a User to create and submit a post
  • Develop a model for the post
  • Create a validation to make sure information included in post is correct
  • Connect the form to post model to create a new record
  • Develop the method to create a record once the post has been created

Epic: #5

User Story: Update a Post

As a User I can update a post I have created so that I can give the correct information and correct possible mistakes

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User
    When I click on one of my posts
    Then I have the option to edit the details

  • Acceptance Criteria 2
    Given that I am a registered User
    When I click on a post of mine to be edited
    Then I am able to edit the details of that post

  • Acceptance Criteria 3
    Given that I am a registered User
    When I select a post that I have not created to be edited
    Then I will not have the option to do so

  • Acceptance Criteria 4
    Given that I am a registered User
    When I have edited the details of one of my posts
    Then I have the option to save those changes

Tasks

  • Develop an edit post button that only appears when a User is logged in and selected one of their posts
  • Develop an edit post page where a User can make the changes
  • Prevent access to the edit post page to unregistered Users or Users who do not have ownership of that page
  • Develop a save button to allow any changes to be saved

Epic: #5

User Story : Create Admin

As a Site Admin I can **create, read, update and delete posts and comments ** so that the Site can maintain a reputable standard

Tasks

  • Create Superuser in Django
  • Enable CRUD functionality

Iteration:

Points:

Epic: #1

EPIC : Site Owner Objectives

As a Site Owner I can use the Site to attract sponsorship so that **the Site can make a profit

Tasks

  • Capture user details
  • Make initial post database available to all visitors to site
  • Fully responsive site - accessible on multiple devices

EPIC : Initial Django Setup

As a Developer I can setup Django and deploy site so that I can develop the Site

Potential User Stories

  1. Install Django and supporting Libraries
  2. Create Apps
  3. Create secret keys and place in .env
  4. Deploy to Heroku

Iteration:

Points:

Epic:

User Story : Users can delete their profile

As a User I can delete my profile so that I can remove my data and posts at my request

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User
    When I am logged in to my account
    Then I have the option to delete my account

  • Acceptance Criteria 2
    Given that I am a registered User
    When I click on the option to delete my account
    Then I have to confirm that I wish to do so

  • Acceptance Criteria 3
    Given that I am a registered User
    When I have confirmed that I wish to delete my account
    Then my profile and all data associated with it is deleted

  • Acceptance Criteria 4
    Given that I am a registered User
    When the account is full deleted
    Then I receive a confirmation that this action has taken place

Tasks

  • On User profile page give a button to delete the account
  • Create a confirmation request to User before the delete is actioned
  • Once confirmed, account and all associated data is deleted
  • Develop a method of communicating the delete action to the User (ie Email)

Epic: #2

User Story : System messages

As a User I can see messages from the system for actions I make so that I am made aware the action has been completed

Acceptance Criteria

  • Acceptance Criteria 1
    Given that I am a registered User and logged-in
    When I make an action on the Site, such as logging in to my account or creating a post
    Then a message appears from the system advising of that action
  • Acceptance Criteria 2
    Given that I am not a logged-in User
    When I perform an action on the site
    Then a message appears advising me that the action cannot be performed as I am not logged in

Tasks

  • Develop a method to advise a logged-in User of their actions through pop-up messages
  • Develop a method to to notify Users that are not logged-in that particular actions cannot be perfromed

Epic: #3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.