vrslev / songbook

Chords and lyrics website for my church.

Home Page:https://songbook.vrslev.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Songbook

Chords and lyrics website for my church.

Features

Fully functional full-stack application. Pages:

Home β€” with song list and search

Screenshot 2022-09-03 at 15 56 18

Screenshot 2022-09-03 at 15 56 10

Song view with Apple Music and YouTube links, lyrics, chords, automatic transposition

Screenshot 2022-09-03 at 15 54 59

Screenshot 2022-09-03 at 15 55 05

Screenshot 2022-09-03 at 15 55 14

Login page

Screenshot 2022-09-03 at 15 56 43

πŸ”’ Song add/edit view

Screenshot 2022-09-03 at 15 55 21

πŸ”’πŸ”’ Users view β€” list of users and add/edit/delete

Screenshot 2022-09-03 at 15 55 37

Stack

Thoroughly tested with Pytest and Vitest.

Getting started

Development β€” locally

Running

Install Python 3.9 and Node.js, then:

make install  # Python
npm install  # JavaScript

After that you should create .env and fill it according to backend.app.factory.Settings class. Also there's VITE_SENTRY_DSN for Sentry in the browser.

Run make start to start backend server (with prefilled testing data, otherwise: make backend-clean), open another terminal tab and run npm start to start frontend server. Open localhost:3000 and login with username and password super. Done.

Testing

make test  # Python
npm test  # JavaScript

Production β€” Vercel & Deta

  • Create Deta project.
  • Install Vercel CLI and run vercel. Then fill environment variables in project settings.
  • Create superuser: SUPERSER__USERNAME=... SUPERUSER__PASSWORD=... python -m backend.add_superuser.

Done!

About

Chords and lyrics website for my church.

https://songbook.vrslev.com

License:MIT License


Languages

Language:TypeScript 53.6%Language:Python 30.4%Language:Vue 14.0%Language:JavaScript 1.2%Language:CSS 0.3%Language:Makefile 0.2%Language:HTML 0.2%Language:Shell 0.2%