Skip to content

BeniV599/final-project

Repository files navigation

My Personal Artists Dedication Website

Preparation & Plan to Prioritize Features for Final Project

My final project would be a dedicating few of my favorite music producers showcase site, as an aim to shout out artists who influenced me and many others from around the world and the whole music genre throughout the years.

Features:

  • The homepage features links to each section and options for signing up and logging in.
  • User authentication
  • User authorization (API only allows the owner of items to modify or delete them)
  • Logged-in users are allowed to view and access the Artists page of few of my favorite music producers; whereas logged-out users cannot view or access said page without registration.

Planning:

  • Wireframing and prototyping using Figma
  • Database schema design using drawSQL

Technologies

javascript logo next js logo react logo
typescript logo sass logo postgres logo

Screenshots

Final look

Screenshot 2023-07-16 180339 Screenshot 2023-07-16 180347 Screenshot 2023-07-16 180623 Screenshot 2023-07-16 180754 Screenshot 2023-07-16 180818 Screenshot 2023-07-16 180944 Screenshot 2023-07-16 181046

Prototyping

final-project_figma

Database schema

final-project_drawsql

Setting up the project

  1. Clone the repository

    git clone https://github.com/BeniV599/final-project.git
    cd next-ecommerce-store
    
  2. Install dependencies using

    pnpm install
    
  3. Setup postgres database

  4. Create a file called .env in the project root directory and paste the following, changing to your own username, password and database:

    PGHOST=localhost
    PGUSERNAME=<your username>
    PGPASSWORD=<your password>
    PGDATABASE=<your database>
    
  5. Connect to postgres database and run either:

    • psql -U <user name> <database name> on windows and macOS
    • sudo -u <user name> psql -U <user name> <database name> on Linux
  6. Run application

    pnpm dev
    

    Open http://localhost:3000 on browser.

Deploying on Vercel

This project is deployed using vercel, in order to do so:

  1. Create an account on vercel
  2. Create a postgres storage in vercel and select frankfurt
  3. Create a project in vercel and import your version of this repository
  4. Overwrite the install command (found in project general setting) with pnpm install && pnpm migrate up
  5. Connect storage with project in Project > Storage > Connect