{"id":23231599,"url":"https://github.com/talhat298/easy-book-server","last_synced_at":"2026-04-11T03:02:35.893Z","repository":{"id":138296399,"uuid":"574895794","full_name":"TalhaT298/Easy-Book-server","owner":"TalhaT298","description":"EasyBook is a modern book management platform built with React.js, Node.js, and MongoDB. It features category, booking, and user management, secure JWT authentication, and admin privileges. Easily deployable with Vercel.","archived":false,"fork":false,"pushed_at":"2024-07-27T20:41:47.000Z","size":3143,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:24:16.193Z","etag":null,"topics":["axios","bookmanagementsystem","daisyui","expressjs","firebase","jwt","mongodb","nodejs","react","reactjs","reactquery","tailwindcss"],"latest_commit_sha":null,"homepage":"https://final-project-9df2d.web.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TalhaT298.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-12-06T10:08:15.000Z","updated_at":"2024-07-27T20:45:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"a72a3d1b-2616-43f8-a018-90b1baf37fb8","html_url":"https://github.com/TalhaT298/Easy-Book-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TalhaT298/Easy-Book-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalhaT298%2FEasy-Book-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalhaT298%2FEasy-Book-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalhaT298%2FEasy-Book-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalhaT298%2FEasy-Book-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TalhaT298","download_url":"https://codeload.github.com/TalhaT298/Easy-Book-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalhaT298%2FEasy-Book-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31667034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["axios","bookmanagementsystem","daisyui","expressjs","firebase","jwt","mongodb","nodejs","react","reactjs","reactquery","tailwindcss"],"created_at":"2024-12-19T02:15:23.352Z","updated_at":"2026-04-11T03:02:35.859Z","avatar_url":"https://github.com/TalhaT298.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyBook Server\r\nThis repository contains the server-side code for EasyBook, a modern platform for book management and reading. Built with Express.js and MongoDB, this server provides a robust and secure backend to handle various functionalities, including user authentication, book management, and personalized recommendations.\r\n### Features\r\n● User Authentication: Secure login and registration using JSON Web Tokens (JWT). \u003c/br\u003e\r\n● Category Management: Create, read, update, and delete book categories.\u003c/br\u003e\r\n● Booking Management: Handle user bookings for books.\u003c/br\u003e\r\n● User Management: Manage user roles and permissions (admin, seller, buyer).\u003c/br\u003e\r\n● Advertisement Management: Feature and advertise selected books.\u003c/br\u003e\r\n● Secure Payment Processing: Integration with Stripe for payment handling.\u003c/br\u003e\r\n● Middleware: Utilizes CORS and JSON body parsing for smooth request handling\u003c/br\u003e\r\n\r\n### Technologies Used\r\n● Node.js: JavaScript runtime for server-side development.\u003c/br\u003e\r\n● Express.js: Web framework for building RESTful APIs.\u003c/br\u003e\r\n● MongoDB: NoSQL database for scalable and flexible data storage.\u003c/br\u003e\r\n● JSON Web Token (JWT): Secure token-based authentication.\u003c/br\u003e\r\n ●Stripe: Payment processing platform.\u003c/br\u003e\r\n● dotenv: For managing environment variables.\u003c/br\u003e\r\n● CORS: Middleware for enabling Cross-Origin Resource Sharing.\u003c/br\u003e\r\n\r\n## Endpoints\r\n### Categories:\r\nGET /category          - Retrieve all categories.\u003c/br\u003e\r\nGET /categories        - Retrieve all categories.\u003c/br\u003e\r\nPOST /categories       - Create a new category.\u003c/br\u003e\r\nGET /categories/:name  - Retrieve categories by name.\u003c/br\u003e\r\nDELETE /categories/:id - Delete a category by ID.\u003c/br\u003e\r\nPATCH /categories/:id  - Update a category to be advertised.\u003c/br\u003e\r\n\r\n### Bookings:\r\nGET /bookings          - Retrieve bookings by user email.\u003c/br\u003e\r\nPOST /bookings         - Create a new booking.\u003c/br\u003e\r\n\r\n### Users:\r\nGET /users             - Retrieve all users.\u003c/br\u003e\r\nPOST /users            - Create a new user.\u003c/br\u003e\r\nPOST /user             - Create a new user.\u003c/br\u003e\r\nGET /users/admin/:email- Check if a user is an admin.\u003c/br\u003e\r\nPUT /users/admin/:id   - Promote a user to admin (requires JWT).\u003c/br\u003e\r\nDELETE /users/:id      - Delete a user by ID (requires JWT).\u003c/br\u003e\r\nGET /users/seller      - Retrieve all sellers.\u003c/br\u003e\r\nGET /users/buyer       - Retrieve all buyers.\u003c/br\u003e\r\nGET /users/:email      - Retrieve a user by email.\u003c/br\u003e\r\n\r\n### Advertisements:\r\nGET /advertised        - Retrieve all advertised books.\u003c/br\u003e\r\n\r\n### Advertisements:\r\nGET /jwt               - Generate a JWT for a user.\r\n\r\n## Dependencies\r\n● express\r\n● cors\r\n● dotenv\r\n● jsonwebtoken\r\n● mongodb\r\n\r\n# Live Link : \u003chttps://final-project-9df2d.web.app/\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalhat298%2Feasy-book-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalhat298%2Feasy-book-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalhat298%2Feasy-book-server/lists"}