{"id":27249605,"url":"https://github.com/juliasouz/book-notes","last_synced_at":"2026-04-02T02:49:52.095Z","repository":{"id":287251435,"uuid":"959917885","full_name":"juliasouz/book-notes","owner":"juliasouz","description":"A modern web app to manage your personal library, take notes about books, and track your reading progress.","archived":false,"fork":false,"pushed_at":"2025-04-10T18:06:46.000Z","size":2786,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T00:19:05.168Z","etag":null,"topics":["ejs","express-js","javascript","nodejs","postgresql","sql"],"latest_commit_sha":null,"homepage":"","language":"EJS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliasouz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-03T15:02:45.000Z","updated_at":"2025-04-10T18:06:50.000Z","dependencies_parsed_at":"2025-04-10T19:59:19.121Z","dependency_job_id":null,"html_url":"https://github.com/juliasouz/book-notes","commit_stats":null,"previous_names":["juliasouz/book-notes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juliasouz/book-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliasouz%2Fbook-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliasouz%2Fbook-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliasouz%2Fbook-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliasouz%2Fbook-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliasouz","download_url":"https://codeload.github.com/juliasouz/book-notes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliasouz%2Fbook-notes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266658101,"owners_count":23963633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ejs","express-js","javascript","nodejs","postgresql","sql"],"created_at":"2025-04-11T00:18:17.730Z","updated_at":"2025-12-30T19:55:02.012Z","avatar_url":"https://github.com/juliasouz.png","language":"EJS","readme":"# BookShelf - Your Personal Reading Tracker\n\nBookShelf is a modern web app to manage your personal library, take notes about books, and track your reading progress.\n\n## Features\n\n- Complete book management (add, edit, delete)\n- Book details include:\n  - Title and author\n  - ISBN (optional)\n  - Read date\n  - Rating (1-5 stars)\n  - Review (optional)\n- Open Library integration for automatic book covers\n- Chapter-based note-taking system\n- Key takeaways marking in notes\n- Sort by title, rating, and read date\n- Responsive and modern interface\n- Light/dark theme with smooth animations\n- Accessibility features including:\n  - High contrast mode support\n  - Reduced motion preferences\n  - Keyboard navigation\n  - Screen reader compatibility\n  - Focus indicators\n  - Semantic HTML structure\n\n## Requirements\n\n- Node.js (version 14 or higher)\n- PostgreSQL (version 12 or higher)\n- NPM or Yarn\n\n## Project Structure\n\n```\nbook-notes/\n├── public/\n│   ├── styles.css        # Global styles\n│   └── js/\n│       └── theme.js      # Light/dark theme management\n├── views/\n│   ├── index.ejs         # Home page (book list)\n│   ├── book-detail.ejs   # Book details and notes\n│   ├── edit-book.ejs     # Edit form\n│   └── partials/\n│       ├── header.ejs    # Common header\n│       └── footer.ejs    # Common footer\n├── index.js              # Server and routes\n└── README.md\n```\n\n## Technologies Used\n\n- **Backend:**\n  - Node.js\n  - Express.js\n  - PostgreSQL\n  - EJS (templates)\n- **Frontend:**\n  - HTML5\n  - CSS3 (with CSS variables for theming)\n  - JavaScript (Vanilla)\n- **APIs:**\n  - Open Library (for book covers)\n\n## Interface Features\n\n- Responsive design that works on mobile and desktop\n- Light/dark theme system with smooth transitions\n- Book cards with hover effects\n- Accessible and well-structured forms\n- Font Awesome icons for better visual experience\n- Visual feedback for user interactions\n\n## Database\n\nThe project uses two main tables:\n- `books`: Stores book information\n- `notes`: Stores book-related notes\n\n## Contributing\n\nContributions are welcome! Feel free to:\n1. Report bugs\n2. Suggest new features\n3. Submit pull requests\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliasouz%2Fbook-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliasouz%2Fbook-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliasouz%2Fbook-notes/lists"}