Skip to content

jyuvaraj03/LibraryApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library App

Library app written in Rails

Technologies Used

Usage

  • Install Docker and Docker Compose for your platform

  • Build and start the development environment using Docker Compose

docker compose -f docker-compose.dev.yml up -d
  • The application will automatically:

    • Set up PostgreSQL 14 database
    • Install Ruby gems and JavaScript dependencies
    • Create and migrate the database
    • Start the Rails development server
  • (Optional) Seed database using values from db/seeds. Run this in a separate terminal:

docker compose -f docker-compose.dev.yml exec app rails db:seed
docker compose -f docker-compose.dev.yml exec app bin/dev
  • The application is now available at http://localhost:3000!

  • To stop the development environment:

docker compose -f docker-compose.dev.yml down

CSV Import/Export

The application includes functionality to import and export books and members as CSV files.

Rake Tasks

# Export books to CSV
rails csv:export_books

# Export members to CSV  
rails csv:export_members

# Import books from CSV
rails csv:import_books FILENAME=books.csv

# Import members from CSV
rails csv:import_members FILENAME=members.csv

For detailed usage instructions, see CSV Import/Export Documentation.

Deployment

  • Deployment uses Fly.io platform.
  • Make sure you have the Fly CLI installed and are logged in:
fly auth login
  • Run migrations on the deployed application:
fly ssh console -a muthamizh-mandram -C "rails db:migrate"
  • Deploy the application to Fly.io:
fly deploy

Roadmap

This will always be a moving target because, well, software development is an iterative process.

  • i18n 🌍
  • Sorting tables ⬆️⬇️
  • Different permissions for librarians and admins 👨‍💻 👩‍💻
  • Handle renewals as a separate entity (currently renewals are done by returning and re-borrowing the book) 🔂
  • More filters 📝
  • Potential optimisations ✨
  • Home page statistics 💹

About

Library management software for libraries with predominantly regional language books.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •