Skip to content

LensVista captures moments with finesse! πŸ“Έ Offering professional photography services for events, portraits, and special occasions. 🌟 Let us frame your memories beautifully. #CaptureLife

Notifications You must be signed in to change notification settings

ShuvoProgram/LensVista_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

MIT License GPLv3 License AGPL License

Lens Vista

LensVista 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

Demo

Project Screenshot

πŸ“” Table of Contents

Role_based

Role Credential
Admin Email: [email protected] password: ********
User Email: [email protected] password: 123456

Entity-Relationship-Diagram(ERD)


+----------------+       +---------------+      +---------------+      +------------+
|      User      |       |    Booking    |      |    Service    |      |   Review   |
+----------------+       +---------------+      +---------------+      +------------+
| id: Int        |       | id: Int       |      | id: Int       |      | id: Int    |
| role: String   |1      | userId: Int   |      | title: String |      | userId: Int|
| name: String   |-------| serviceId: Int|      | banner: Str   |------| serviceId: |
| email: String  |       | bookingInfo: J|      | isBooked: Boo |      | message: St|
| password: Str  |       | status: Str   |      | description:  |      | rating: Str|
| location: Str? |       | createdAt: Dat|      | category: Str |      | createdAt: |
| phone: Str?    |       | updatedAt: Dat|      | price: Float  |      | updatedAt: |
| profileImage: S|       +---------------+      | availabilit: B|      +------------+
| createdAt: Dat |                              | createdAt: Dat|
| updatedAt: Dat |                              | updatedAt: Dat|
+----------------+                              +---------------+
         |                                                |
         |                                                |
         v                                                v
+----------------+                               +----------------+
|   Feedback     |                               |      FAQ       |
+----------------+                               +----------------+
| id: Int        |                               | id: Int        |
| email: String  |                               | title: String  |
| message: Str   |                               | content: String|
| createdAt: Dat |                               | createdAt: Dat |
| updatedAt: Dat |                               | updatedAt: Dat |
+----------------+                               +----------------+
         |
         v
+----------------+
|      News      |
+----------------+
| id: Int        |
| title: String  |
| content: String|
| contentType: S |
| banner: String?|
| createdAt: Dat |
| updatedAt: Dat |
+----------------+

Project_Features

User Management

  • User Authentication: Secure user authentication for creating accounts and logging in.

  • User Profile Management: Users can easily manage their profiles, including personal information and preferences.

Event Booking

  • Event Booking System: Users can book events seamlessly, providing a convenient way to participate in various activities.

  • Booking Tracking: Users have the ability to track and manage their booked events in one central location.

  • Event Reviews: Users can leave reviews for events they attended, contributing to a feedback system.

Admin Panel

  • Admin Profile Management: Admins have control over their profiles, ensuring accurate and up-to-date information.

  • Event Management:

    • Create New Event: Admins can add new events to the system.
    • Update Existing Event: Modify details of existing events.
    • Delete Event: Remove outdated or canceled events from the platform.
  • Customer Booking Management:

    • Accept Bookings: Admins can approve customer bookings.
    • Cancel Bookings: Admins have the ability to cancel bookings as necessary.
  • News and FAQ Management:

    • News Updates: Admins can post and manage news updates.
    • FAQ Management: Admins can add, edit, or remove frequently asked questions.

API_Endpoints

Main Route

Authentication Routes πŸ›‘οΈ

  • POST /auth/register: Register a new user.
  • POST /auth/login: Log in a user.

User Routes

  • GET /user/all-users: Retrieve all users. Requires ADMIN or SUPER_ADMIN privileges..
  • GET /user/me: Retrieve own user profile.
  • GET /user/admins: Retrieve all administrators. Requires SUPER_ADMIN privileges.
  • POST /user/update-profile: Update an own profile information.
  • PATCH /user/admin/update-role/:email: Update the role of an administrator by email. Requires SUPER_ADMIN privileges.
  • PATCH /user/:id: Update user information by ID. Requires ADMIN or SUPER_ADMIN privileges.
  • POST /user/update-profile-data: Update profile data. Requires validation.
  • DELETE /user/:id: Delete a user by ID. Requires ADMIN or SUPER_ADMIN privileges.

Service Routes

  • POST /service/create: Create a new service.
  • GET /service/best-services: Retrieve the best services.
  • GET /service/:id: Retrieve details of a single service by ID.
  • GET /service/: Retrieve all services.
  • DELETE /service/:id: Delete a service by ID. πŸ—‘οΈ
  • PATCH /service/:id: Update information for a specific service. πŸ”„

News Routes πŸ“°

  • POST /news: Create a new news article. ✏️
  • GET /news: Get all news articles. πŸ“„
  • GET /news/:id: Get details of a specific news article by ID. πŸ“°
  • PATCH /news/:id: Update details of a specific news article by ID. πŸ”„
  • DELETE /news/:id: Delete a news article by ID. πŸ—‘οΈ

Booking Routes

  • POST /bookings/: Create a new booking.
  • GET /bookings/all-bookings: Get all bookings (Admin access required).
  • PATCH /bookings/cancel-booking/:id: Cancel a booking by ID (Admin access required).
  • PATCH /bookings/confirm-booking/:id: Confirm a booking by ID (Admin access required).
  • DELETE /bookings/:id: Delete a user booking by ID (User access required).
  • GET /bookings/: Get user's bookings.

FAQ Routes

  • POST /faq/: Create a new FAQ. ✏️
  • GET /faq/: Get all FAQs. πŸ“„
  • DELETE /faq/:id: Delete a FAQ by ID. πŸ—‘οΈ
  • PATCH /faq/:id: Update a FAQ by ID. πŸ”„

Feedback Routes

  • POST /feedback: Submit feedback.

Review Routes

  • POST /reviews: Create a new review. ✍️
  • GET /reviews/:id: Get reviews by ID. πŸ“„

Tech_Stack

Express JS Express JS Prisma Prisma JWT JWT JWT

Authors

(back to top)

About

LensVista captures moments with finesse! πŸ“Έ Offering professional photography services for events, portraits, and special occasions. 🌟 Let us frame your memories beautifully. #CaptureLife

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages