Library app written in Rails
-
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
The application includes functionality to import and export books and members as CSV files.
# 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.
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
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 💹