Developer Info - DeelDepot

Your Guide to Understanding and Using DeelDepot

Project Overview

DeelDepot is an application that provides a platform for users to share and manage a community inventory of products. The goal of the application is to make it easy for users to borrow, lend, or explore items available on the platform. DeelDepot ensures a responsive, user-friendly experience.

Info for Teacher

You can login as an admin using the following credentials:
Email: admin@example.com
Password: admin123

In code, you'll see all cases with users are done with REST. This is because it was easier to get the user data and do stuff with it, the rest of the app is done with GraphQL requests/mutations.

How DeelDepot Works

Homepage

Upon visiting DeelDepot, users are greeted with a homepage that displays a small overview of available products. From here, users can click on "View All" to navigate to the Products page, where they’ll find a complete list of items.

Products page

The Products page provides a searchable and filterable list of all items. Users can:

  • Search for specific products by name or keywords.
  • Filter the items by "All" or "Available" to see only currently available products.

Product Detail

Each product has its own detail page where users can view specific information, such as the product’s description, availability, and owner details. Key features include:

  • Product Information: Detailed description, availability status, and other relevant details of the item.
  • Contact Owner: Users can click the "Contact" button to start a direct chat with the product owner for inquiries or rental arrangements. This conversation is saved in the inbox, accessible from the navigation bar, allowing users to revisit chats anytime.

Register/Login

Users can register for a new account or log into an existing one. Upon logging in, users gain access to their personal Dashboard, where they can manage their interactions within the platform.

Dashboard

The Dashboard is where users can manage their own products and update personal settings. Key features include:

  • Manage Products: Users can add, update, or delete their own products.
  • Account Settings: Users can update their email or username in this section.

Admin Panel

As part of a demonstration for educational purposes, DeelDepot includes an example Admin Panel. This section is not accessible to regular users, but can be explored with designated credentials (admin@example.com / pw: admin123). In this panel, admins have special permissions, such as: Managing all users, with options to block users or change their roles.

Admin access is restricted and meant for demonstration purposes only, highlighting the app's extended functionalities.

Tech Stack

  • Next.js 14
  • Tailwind CSS
  • Strapi + GraphQL
  • PostgreSQL