Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#258: User Guide install run app docs #259

Merged
merged 1 commit into from
Oct 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
"build": {
"productName": "SpotifyElectron",
"appId": "org.AntonioMrtz.SpotifyElectron",
"artifactName": "SpotifyElectron-${version}.${ext}",
"artifactName": "SpotifyElectron.${ext}",
"asar": true,
"asarUnpack": "**\\*.{node,dll}",
"files": [
Expand Down
2 changes: 1 addition & 1 deletion docs/Architecture.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Architecture
# 🏗️ Architecture

The app has two different architectures. These architectures only differ on song store, managment, serving
and playing.
Expand Down
2 changes: 1 addition & 1 deletion docs/Auth-Login.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Authentication and Login
# 🚪 Authentication and Login

#WIP

Expand Down
2 changes: 1 addition & 1 deletion docs/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributor Covenant Code of Conduct
# 🖹 Contributor Covenant Code of Conduct

## Our Pledge

Expand Down
2 changes: 1 addition & 1 deletion docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to contribute
# 🖐️ How to contribute

In this document we will cover how contribute to the project and the rules associated to the process. We gladly accept all kinds of contributions, from writing new features and fixing bugs to improve the existing documentation. When contributing to the project the [code of conduct](CODE_OF_CONDUCT.md) must be followed.

Expand Down
2 changes: 1 addition & 1 deletion docs/Git-Convention.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Git Convention
# 🌳 Git Convention

In this document we will cover the convention applied to git usage in the project.

Expand Down
2 changes: 1 addition & 1 deletion docs/SETUP.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Global Set up
# ⚙️ Global Set up

In this section we will cover how to set up common tools for the whole project.

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/Cloud.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Cloud
# Cloud

#WIP
2 changes: 1 addition & 1 deletion docs/backend/Docker.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Docker
# 🐋 Docker

Docker is used primarily in the project for:

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/Environment.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Environment
# Environment

In this document we will cover:

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# FAQ
# FAQ

## ◾ Database connection failed, stopping server

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/File-Structure.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File Structure
# 📁 File Structure

In this document we will cover the file structure of the Backend for Spotify Electron.

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/Linting-&-Formatting.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Linting & Formatting
# ✅🎨 Linting & Formatting

### ✅ Run linting

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/SETUP.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Set up and run BACKEND
# ⚙️ Set up and run BACKEND

In this section we will cover:

Expand Down
2 changes: 1 addition & 1 deletion docs/backend/Testing.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Testing
# 🧪 Testing

In this section we will cover how to run tests and develop them. Make sure `Backend/` folder is the root directory when launching the tests. See more on testing principles [here](../utils/Testing-Principles.md)

Expand Down
2 changes: 1 addition & 1 deletion docs/frontend/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# FAQ
# FAQ

## ◾ Unresponsive app while using the installed client

Expand Down
2 changes: 1 addition & 1 deletion docs/frontend/File-Structure.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File Structure
# 📁📄 File Structure

In this document we will cover the file structure of the Backend for Spotify Electron.

Expand Down
2 changes: 1 addition & 1 deletion docs/frontend/Linting-&-Formatting.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Linting and formatting
# ✅🎨 Linting and formatting

## ✅ Linting

Expand Down
9 changes: 0 additions & 9 deletions docs/frontend/Package-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,6 @@ npm run package
npm run package:linux:appimage
```

An `.AppImage` file will be generated. If there's any error while trying to open the app try this:

```console
sudo apt install libfuse2 &&
cd release/build/ &&
chmod 777 {generated-app-name}.AppImage &&
./{generated-app-name}.AppImage --no-sandbox
```

#### Windows

An `.exe` will be generated
Expand Down
2 changes: 1 addition & 1 deletion docs/frontend/SETUP.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Setup and run FRONTEND
# ⚙️ Setup and run FRONTEND

## 🛠 Setup the proyect

Expand Down
2 changes: 1 addition & 1 deletion docs/frontend/Testing.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Testing
# 🧪 Testing

In this section we will cover how to run tests and develop them. See more on testing principles [here](../utils/Testing-Principles.md).

Expand Down
55 changes: 55 additions & 0 deletions docs/user-guides/Installation-Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# 👱 Installation and run the app

All you need to install and run the app is placed under `assets` at our [releases section](https://github.com/AntonioMrtz/SpotifyElectron/releases). Choose the latest version for the most improved user experience.

## 🪟 Windows (.exe)

* Go to the [latest release](https://github.com/AntonioMrtz/SpotifyElectron/releases)
* In `assets` section download the file named `SpotifyElectron.exe`
* Once download, double click on the app icon and select accept
* Now you have the app installed, access it with the Desktop icon or searching the installed app in Windows Search

## 🐧 Linux (AppImage)

* Go to the [latest release](https://github.com/AntonioMrtz/SpotifyElectron/releases)
* In `assets` section download the file named `SpotifyElectron.AppImage`
* Once downloaded, give permissions to the `.AppImage` file with `chmod +x SpotifyElectron.AppImage`
* Then run with `./SpotifyElectron.AppImage --no-sandbox`

### Create Desktop icon

#### 1. Download needed assets

* In `assets` section download the file named `SpotifyElectron.AppImage`. The exectuable AppImage.
* In `assets` section download the file named `spotify-electron.desktop`. The desktop entry template.
* In `assets` section download the file named `logo.png`. The app logo for desktop entry.

#### 2. AppImage and assets placing

```console
cd ~/Downloads # go into downloads folder
mkdir ~/SpotifyElectron # create app directory, if it exists skip this command
chmod +x SpotifyElectron.AppImage # give permissions to AppImage
cp SpotifyElectron.AppImage ~/SpotifyElectron/ # copy AppImage to app directory
```

#### 3. Desktop entry set up and permissions

```console
cd ~/Downloads # go into downloads folder
mv spotify-electron.desktop.download spotify-electron.desktop # rename .desktop file, if it doesn't end in .dowload skip this step
chmod +x spotify-electron.desktop # give execution permissions
cp spotify-electron.desktop ~/.local/share/applications/ # move .desktop file where other .desktop are
mv logo.png spotify-electron-logo.png # rename icon name to fit xdg standars
xdg-icon-resource install spotify-electron-logo.png --size 64 # install icon
update-desktop-database ~/.local/share/applications # refresh .desktop entries
```

#### 4. Search for Spotify Electron with the app explorer -> Log out or restart if you don't see the entry

#### 5. Select the app and run it


### Debian/Ubuntu troubleshoot

The package `libfuse2` could not be installed. Install it with `sudo apt install libfuse2`
8 changes: 8 additions & 0 deletions docs/user-guides/assets/appimage/spotify-electron.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[Desktop Entry]
Name=Spotify Electron
Comment=Spotify Electron is a cross-platform music streaming desktop app made with Electron-React frontend and Python-FastAPI-MongoDB. The main goal is to reproduce the original Spotify functionality while adding new ones like uploading songs.
Exec=/bin/sh -c "$HOME/SpotifyElectron/SpotifyElectron.AppImage --no-sandbox"
Icon=spotify-electron-logo
Terminal=false
Type=Application
Categories=Audio;Music;Player;Media;Entertainment;
2 changes: 1 addition & 1 deletion docs/utils/Generate-Mock-Data.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generate Mock data
# 🗃️ Generate Mock data

Somethis is useful to have fake/mock data to test the behaviour of the app under different loads of data. With this script you can generate small, medium or large amounts of data.

Expand Down
2 changes: 1 addition & 1 deletion docs/utils/Mkdocs.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Mkdocs development & usage
# 🗐 Mkdocs development & usage

Project documentation will be deployed at `https://antoniomrtz.github.io/SpotifyElectron/`.

Expand Down
2 changes: 1 addition & 1 deletion docs/utils/OpenAPI.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# OpenAPI schema generation & usage
# 🗳️ OpenAPI schema generation & usage

The generated OpenAPI schema from Backend endpoints is used in Frontend for code auto-generation that enables for code reutilization and having an up-to-date status of the endpoints. OpenAPI schema is also used in a client that encapsulates all requests on frontend and makes use of the auto-generated code.

Expand Down
8 changes: 6 additions & 2 deletions docs/utils/Release-Procedure.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Release procedure
# ✅📦 Release procedure

## 1. Update release version info on codebase

Expand Down Expand Up @@ -41,7 +41,11 @@ class AppInfo:
## 3. Package app

* Follow [packaging guide](../frontend/Package-app.md) using production backend URL and architecture.
* Upload exectuables to [Github releases](https://github.com/AntonioMrtz/SpotifyElectron/releases)
* Upload the following to [Github releases](https://github.com/AntonioMrtz/SpotifyElectron/releases):
* `.exe` Windows executable
* `AppImage` file
* `spotify-electron.desktop`
* `logo.png`

## 4. Prepare database

Expand Down
59 changes: 31 additions & 28 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,37 @@ remote_branch: gh-pages

nav:
- Home: index.md
- Vision: VISION.md
- How to contribute: CONTRIBUTING.md
- Git convention: Git-Convention.md
- Global Set up: SETUP.md
- Architecture: Architecture.md
- Authentication & Login: Auth-Login.md
- Backend:
- Set up: backend/SETUP.md
- Environment: backend/Environment.md
- File Structure: backend/File-Structure.md
- Cloud: backend/Cloud.md
- Docker: backend/Docker.md
- Linting & Formatting: backend/Linting-&-Formatting.md
- Testing: backend/Testing.md
- FAQ: backend/FAQ.md
- Frontend:
- Set up: frontend/SETUP.md
- File Structure: frontend/File-Structure.md
- Linting & Formatting: frontend/Linting-&-Formatting.md
- Testing: frontend/Testing.md
- Package app: frontend/Package-app.md
- FAQ: frontend/FAQ.md
- Utils:
- Release procedure: utils/Release-Procedure.md
- OpenAPI schema generation & usage: utils/OpenAPI.md
- Mkdocs development & usage: utils/Mkdocs.md
- Generate Mock data: utils/Generate-Mock-Data.md
- Testing principles: utils/Testing-Principles.md
- Project Vision: VISION.md
- Developer guides:
- How to contribute: CONTRIBUTING.md
- Git convention: Git-Convention.md
- Architecture: Architecture.md
- Global Set up: SETUP.md
- Authentication & Login: Auth-Login.md
- Backend:
- Set up: backend/SETUP.md
- Environment: backend/Environment.md
- File Structure: backend/File-Structure.md
- Docker: backend/Docker.md
- Linting & Formatting: backend/Linting-&-Formatting.md
- Cloud: backend/Cloud.md
- Testing: backend/Testing.md
- FAQ: backend/FAQ.md
- Frontend:
- Set up: frontend/SETUP.md
- File Structure: frontend/File-Structure.md
- Linting & Formatting: frontend/Linting-&-Formatting.md
- Testing: frontend/Testing.md
- Package app: frontend/Package-app.md
- FAQ: frontend/FAQ.md
- Utils:
- Release procedure: utils/Release-Procedure.md
- OpenAPI schema generation & usage: utils/OpenAPI.md
- Mkdocs development & usage: utils/Mkdocs.md
- Generate Mock data: utils/Generate-Mock-Data.md
- Testing principles: utils/Testing-Principles.md
- User guides:
- Installation guide: user-guides/Installation-Guide.md
- Code of conduct: CODE_OF_CONDUCT.md
- Contributors: CONTRIBUTORS.md

Expand Down
Loading