andersganander / albumtalk

Front End for pp5 project Album Talk
0 stars 0 forks source link

AlbumTalk (David Bowie edition)

AalbumTalk

AlbumTalk is a dedicated platform for fans of David Bowie and those curious about his music. This special edition of AlbumTalk focuses exclusively on David Bowie's extensive discography, providing a rich and immersive experience for both longtime fans and newcomers. Users can review, rate, and discuss albums in David Bowie's extensive catalog, as well as follow other users.

Live Page

albumTalk

Website

Django Rest Backend

The repository for the backend of the application is documented here

Table of Contents

UX

User Goals

Agile and planning


The API and Frontend of this project was planned using Agile methodology and MoSCoW prioritization on github projects.

The user stories project can be found [here](https://github.com/users/

Wireframes:

Mobile Images goes here ![Home](docs/images/wireframes/)
Desktop Images goes here

Epics and User Stories:

[Project user stories table can be found here]

Epic User Story Comment
Authentication Create Account #
Authentication Update User credentials #27
Authentication Log in
Navigation Navigate easily between pages
Navigation Infinite scroll functionality
Albums Album List #30
Albums List of most rated albums #25
Albums Like favorite albums #58
Write review Write a review
Write review Visual rating #50
View reviews View album specific reviews (#31)
View reviews List reviews
View reviews View a review
Edit and delete review Edit a review
Edit and delete review Delete a review
Comments Edit a comment
Comments Write a comment
Comments Delete a comment
Follow/unfollow Follow and unfollow users
Follow/unfollow View followed users reviews Future improvement
Profile page Edit profile #26
Profile page User statistics
Profile page View profile page
Search Search for reviews and albums

Design Choices

Colors

Typography

Imagery and icons

Features

Future Features

Website layout

Navbar

Home page

Feed page

Contact Page

Sign in page

Login page

Sign up page

Sign up page

Profile page

Create post

Post page

Reusability

Components (Reusability)

Packages and Tools

Additionally, specific scripts were defined for building, testing, and starting the application, particularly with Heroku deployment in mind. The project also specifies Node.js and npm versions for consistent environment setup.

Testing

Manual testing

found here: Manual testing

Performance and Validation

Perfomance and Validation

Known Bugs

Deployment

Heroku

This project is deployed on Heroku, a cloud platform service that enables easy deployment and scaling for web applications. The deployment process includes the following steps:

Initial Setup

  1. Create a Heroku Account: Sign up for a Heroku account at Heroku's website.
  2. Install Heroku CLI: Download and install the Heroku Command Line Interface (CLI) to interact with Heroku from your local machine.

Preparing the Application

  1. Procfile: Create a Procfile in your project root directory. This file tells Heroku how to run your application.
  2. Requirements.txt: Ensure you have a requirements.txt file listing all project dependencies.
  3. Config Vars: Set up necessary configuration variables in Heroku (like SECRET_KEY, database URL, etc.).

Deployment

  1. Create a Heroku App: Use the Heroku CLI to create a new app.
  2. Add Buildpacks: If necessary, add the correct buildpacks via the Heroku dashboard or CLI.
  3. Deploy: Push your code to Heroku either by connecting your GitHub repository to Heroku or using the Heroku CLI to deploy your application.
  4. Database Migration (if applicable): Run database migrations using the Heroku CLI.

Final Steps

  1. Enable the Web Dyno: Make sure the web dyno is up and running after deployment.
  2. Open the App: You can open your application from the Heroku dashboard or using the CLI command heroku open.

For more detailed instructions and troubleshooting, visit the official Heroku Dev Center.

Forking the GitHub Repository


Forking the GitHub repository allows you to make a copy of the original project on your own GitHub account, enabling you to make changes without affecting the original. Here's how to do it:

  1. Go to the Repository: Navigate to the original repository on GitHub.
  2. Fork the Repository: Click the 'Fork' button, located at the top right of the repository page. This creates a copy of the repository in your GitHub account.
  3. Clone Your Fork: Once forked, you can clone your fork to your local machine for further development.

Making a Local Clone

Cloning a GitHub repository creates a local copy on your machine, allowing you to sync between the two locations. Here are the steps:

  1. Clone the Repository: On the GitHub repository page, click the 'Code' button and copy the URL under 'Clone with HTTPS'.
  2. Open Terminal: Open your terminal and navigate to the directory where you want the clone to be created.
  3. Clone Command: Type git clone, and then paste the URL you copied in Step 1. Press Enter to create your local clone.

Credits

The following sources and references were resorted for the creation of this website:

Content

This project has benefited from several educational resources and example projects provided by the Code Institute throughout the course of my bootcamp. The following projects deserve special mention for their direct impact on the development of this application:

Media

Acknowledgements: