{"id":18299897,"url":"https://github.com/shuvoprogram/lensvista_backend","last_synced_at":"2026-04-12T17:06:01.046Z","repository":{"id":208885060,"uuid":"722676200","full_name":"ShuvoProgram/LensVista_Backend","owner":"ShuvoProgram","description":"LensVista captures moments with finesse! 📸 Offering professional photography services for events, portraits, and special occasions. 🌟 Let us frame your memories beautifully. #CaptureLife","archived":false,"fork":false,"pushed_at":"2024-01-17T07:38:50.000Z","size":12908,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-15T03:29:29.649Z","etag":null,"topics":["bcrypt","cloudinary","expressjs","husky","multer","postgresql","prisma","typescript","zod-validation"],"latest_commit_sha":null,"homepage":"https://lens-vista-backend.vercel.app/api/v1","language":"TypeScript","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/ShuvoProgram.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":"2023-11-23T17:09:26.000Z","updated_at":"2023-11-26T19:09:52.000Z","dependencies_parsed_at":"2024-01-17T08:42:58.599Z","dependency_job_id":null,"html_url":"https://github.com/ShuvoProgram/LensVista_Backend","commit_stats":null,"previous_names":["shuvoprogram/lensvista_backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FLensVista_Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FLensVista_Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FLensVista_Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShuvoProgram%2FLensVista_Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShuvoProgram","download_url":"https://codeload.github.com/ShuvoProgram/LensVista_Backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248010077,"owners_count":21032845,"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","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":["bcrypt","cloudinary","expressjs","husky","multer","postgresql","prisma","typescript","zod-validation"],"created_at":"2024-11-05T15:10:39.869Z","updated_at":"2026-04-12T17:06:01.019Z","avatar_url":"https://github.com/ShuvoProgram.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](./github/logo.png)\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)\n[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)\n[![AGPL License](https://img.shields.io/badge/license-AGPL-blue.svg)](http://www.gnu.org/licenses/agpl-3.0)\n\n\n# Lens Vista\n\nLensVista skillfully captures moments! 📸 We specialize in providing expert photography services for events, portraits, and special occasions. 🌟 Allow us to elegantly frame your cherished memories. #PreserveMoments\n\n# Demo\n\n![Project Screenshot](./github/LensVista.png)\n\n\u003c!-- Table of Contents --\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003e\n\n# :notebook_with_decorative_cover: Table of Contents\n\n\u003c/summary\u003e\n\n- [Role based](#role_based)\n- [Entity Relationship Diagram(ERD)](#entity-relationship-diagram(erd))\n- [Project Features](#project_features)\n- [API Endpoints](#api_endpoints)\n- [Tech Stack](#tech_stack)\n- [Authors](#authors)\n\n\u003c/details\u003e\n\n# Role_based\n\n| Role                | Credential\n|-----------------------------------------|------------------------------------------------------|\n| Admin               | Email: admin@gmail.com password: ********\n| User                | Email: user@gmail.com password: 123456\n\n# Entity-Relationship-Diagram(ERD)\n\n```\n\n+----------------+       +---------------+      +---------------+      +------------+\n|      User      |       |    Booking    |      |    Service    |      |   Review   |\n+----------------+       +---------------+      +---------------+      +------------+\n| id: Int        |       | id: Int       |      | id: Int       |      | id: Int    |\n| role: String   |1      | userId: Int   |      | title: String |      | userId: Int|\n| name: String   |-------| serviceId: Int|      | banner: Str   |------| serviceId: |\n| email: String  |       | bookingInfo: J|      | isBooked: Boo |      | message: St|\n| password: Str  |       | status: Str   |      | description:  |      | rating: Str|\n| location: Str? |       | createdAt: Dat|      | category: Str |      | createdAt: |\n| phone: Str?    |       | updatedAt: Dat|      | price: Float  |      | updatedAt: |\n| profileImage: S|       +---------------+      | availabilit: B|      +------------+\n| createdAt: Dat |                              | createdAt: Dat|\n| updatedAt: Dat |                              | updatedAt: Dat|\n+----------------+                              +---------------+\n         |                                                |\n         |                                                |\n         v                                                v\n+----------------+                               +----------------+\n|   Feedback     |                               |      FAQ       |\n+----------------+                               +----------------+\n| id: Int        |                               | id: Int        |\n| email: String  |                               | title: String  |\n| message: Str   |                               | content: String|\n| createdAt: Dat |                               | createdAt: Dat |\n| updatedAt: Dat |                               | updatedAt: Dat |\n+----------------+                               +----------------+\n         |\n         v\n+----------------+\n|      News      |\n+----------------+\n| id: Int        |\n| title: String  |\n| content: String|\n| contentType: S |\n| banner: String?|\n| createdAt: Dat |\n| updatedAt: Dat |\n+----------------+\n```\n\n# Project_Features\n\n## User Management\n\n- **User Authentication:** Secure user authentication for creating accounts and logging in.\n\n- **User Profile Management:** Users can easily manage their profiles, including personal information and preferences.\n\n## Event Booking\n\n- **Event Booking System:** Users can book events seamlessly, providing a convenient way to participate in various activities.\n\n- **Booking Tracking:** Users have the ability to track and manage their booked events in one central location.\n\n- **Event Reviews:** Users can leave reviews for events they attended, contributing to a feedback system.\n\n## Admin Panel\n\n- **Admin Profile Management:** Admins have control over their profiles, ensuring accurate and up-to-date information.\n\n- **Event Management:**\n  - Create New Event: Admins can add new events to the system.\n  - Update Existing Event: Modify details of existing events.\n  - Delete Event: Remove outdated or canceled events from the platform.\n\n- **Customer Booking Management:**\n  - Accept Bookings: Admins can approve customer bookings.\n  - Cancel Bookings: Admins have the ability to cancel bookings as necessary.\n\n- **News and FAQ Management:**\n  - News Updates: Admins can post and manage news updates.\n  - FAQ Management: Admins can add, edit, or remove frequently asked questions.\n\n# API_Endpoints\n\n## Main Route\n\n# Authentication Routes 🛡️\n- **POST /auth/register:** Register a new user.\n- **POST /auth/login:** Log in a user.\n\n# User Routes\n- **GET /user/all-users:** Retrieve all users. Requires ADMIN or SUPER_ADMIN privileges..\n- **GET /user/me:** Retrieve own user profile.\n- **GET /user/admins:** Retrieve all administrators. Requires SUPER_ADMIN privileges.\n- **POST /user/update-profile:** Update an own profile information.\n- **PATCH /user/admin/update-role/:email:** Update the role of an administrator by email. Requires SUPER_ADMIN privileges.\n- **PATCH /user/:id:** Update user information by ID. Requires ADMIN or SUPER_ADMIN privileges.\n- **POST /user/update-profile-data:** Update profile data. Requires validation.\n- **DELETE /user/:id:** Delete a user by ID. Requires ADMIN or SUPER_ADMIN privileges.\n\n# Service Routes\n- **POST /service/create:** Create a new service.\n- **GET /service/best-services:** Retrieve the best services.\n- **GET /service/:id:** Retrieve details of a single service by ID.\n- **GET /service/:** Retrieve all services.\n- **DELETE /service/:id:** Delete a service by ID. 🗑️\n- **PATCH /service/:id:** Update information for a specific service. 🔄\n\n# News Routes 📰\n\n- **POST /news:** Create a new news article. ✏️\n- **GET /news:** Get all news articles. 📄\n- **GET /news/:id:** Get details of a specific news article by ID. 📰\n- **PATCH /news/:id:** Update details of a specific news article by ID. 🔄\n- **DELETE /news/:id:** Delete a news article by ID. 🗑️\n\n# Booking Routes\n- **POST /bookings/:** Create a new booking.\n- **GET /bookings/all-bookings:** Get all bookings (Admin access required).\n- **PATCH /bookings/cancel-booking/:id:** Cancel a booking by ID (Admin access required).\n- **PATCH /bookings/confirm-booking/:id:** Confirm a booking by ID (Admin access required).\n- **DELETE /bookings/:id:** Delete a user booking by ID (User access required).\n- **GET /bookings/:** Get user's bookings.\n\n# FAQ Routes\n- **POST /faq/:** Create a new FAQ. ✏️\n- **GET /faq/:** Get all FAQs. 📄\n- **DELETE /faq/:id:** Delete a FAQ by ID. 🗑️\n- **PATCH /faq/:id:** Update a FAQ by ID. 🔄\n\n# Feedback Routes \n- **POST /feedback:** Submit feedback.\n\n# Review Routes\n- **POST /reviews:** Create a new review. ✍️\n- **GET /reviews/:id:** Get reviews by ID. 📄\n\n\n# Tech_Stack\n\n[![Express JS](https://skillicons.dev/icons?i=express \"Express JS\")](https://expressjs.com/ \"Express JS\") \n[![Express JS](https://skillicons.dev/icons?i=nodejs \"Node JS\")](https://nodejs.org/en \"Node JS\") \n[![Prisma](https://skillicons.dev/icons?i=postgres \"Postgres\")](https://www.postgresql.org/ \"Postgres\")\n[![Prisma](https://skillicons.dev/icons?i=prisma \"Prisma\")](https://prisma.io/ \"Prisma\")\n[![JWT](https://skillicons.dev/icons?i=supabase \"Supabase\")](https://supabase.com/ \"Supabase\")\n[![JWT](https://skillicons.dev/icons?i=ts \"TypeScript\")](https://www.typescriptlang.org/ \"TypeScript\")\n[![JWT](https://skillicons.dev/icons?i=vercel \"Vercel\")](https://vercel.com/ \"Vercel\")\n\n# Authors\n\n- [@ShuvoProgramer](https://github.com/ShuvoProgram)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvoprogram%2Flensvista_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshuvoprogram%2Flensvista_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshuvoprogram%2Flensvista_backend/lists"}