Skip to content

Stavan1234/tsa-song-editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TSA Songbook Editor 🎡

Project Status Next.js TypeScript Firebase

Why this project?

The original songbook data existed in PDFs and legacy font encodings, making it difficult to correct, verify, and reuse reliably.
This editor was built to clean the data once, verify it properly, and generate a stable JSON source of truth for a mobile application.

This project is an internal tool built for a specific organization and workflow.
It is not intended as a public SaaS or open-source contribution project.

editor 1

✨ Key Features

1. Dashboard & Song Management

A centralized dashboard to view database statistics and manage the song list.

  • Search & Filter: Instantly filter songs by Hymn Number, Marathi Title, or Category.
  • Quick Stats: View total song count and verification progress at a glance.
editor 2

2. Powerful Song Editor

A dedicated interface for editing song metadata and lyrics.

  • Metadata: Edit Hymn Number, Marathi/English Titles, and Categories.
  • Lyrics Editor: A clean text area for formatting song lyrics.
  • Smart ID Management: Changing a Hymn Number automatically migrates the song to a new Database ID and cleans up the old record.
editor 3

3. Verification System πŸ”’

To prevent accidental data loss or unwanted edits on finished songs, the system includes a verification lock.

  • Locking: Mark a song as "Verified" to disable all edit fields.
  • Unlocking: Admin privileges allow unlocking a song for necessary revisions.

4. Add New Content

Easily create new entries in the songbook with automatic duplicate ID detection to ensure data integrity.

editor 4

5. Data Import & Export

Seamlessly sync data between this editor and the Android application.

  • Export: Generates an Android-compatible JSON file containing the entire songbook.
  • Import: Bulk upload functionality to replace the database (with safety warnings).
Export Data Import Data
editor 6 editor 5

πŸ› οΈ Tech Stack


πŸš€ Getting Started

To run this project locally, follow these steps:

1. Clone the repository

git clone https://github.com/Stavan1234/tsa-songbook-editor.git
cd tsa-songbook-editor

2. Install Dependencies

npm install

3. Configure Firebase

Create a .env.local file in the root directory and add your Firebase configuration:

NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id

4. Run the Development Server

npm run dev

Open http://localhost:3000 with your browser to see the result.


πŸ“‚ Project Structure

app/
β”œβ”€β”€ admin/
β”‚   β”œβ”€β”€ export/      # JSON Export logic
β”‚   β”œβ”€β”€ import/      # JSON Import logic
β”‚   β”œβ”€β”€ songs/       # Song List & Create New Song
β”‚   └── layout.tsx   # Admin Sidebar Layout
β”œβ”€β”€ components/      # Reusable UI components
β”œβ”€β”€ lib/             # Firebase configuration
└── page.tsx         # Landing Page

πŸ›‘οΈ License

This project is an internal tool for the The Salvation Army (Marathi) and is not intended for public distribution.

About

Internal Next.js admin panel to manage, verify, and export the Marathi Salvation Army Songbook as Android-compatible JSON using Firebase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages