Welcome to my project - Admin Panel for the "Playground" Store!
Admin Panel for the "Playground" Store
Welcome to the Admin Panel for the "Playground" Store project! This system allows the admin to manage products, apply discounts, and update account settings, among other functionalities.
--- A brief explanation and roadmap for the different functionalities in the project - Admin Panel Playground ---
Getting Started
Follow these steps to get the project up and running locally. Make sure you have the necessary tools installed, such as Composer, PHP, and Node.js.
First, I would kindly ask you to ignore some of the comments in the code. Many of them were left by me for my own reference.
----- Step 1: Install Dependencies
Run the following commands to set up the environment for the project:
- composer install
- cp .env.example .env
- php artisan key:generate
- npm install
- npm run dev
Secondly, I would kindly ask you to run the following three commands in the console to apply the images I have for product and brand initial setup, so you can have a starting interface with all the functionalities: The three important commands to correctly start the application (due to the images I have for the initial setup of the application) are as follows:
----- Step 2: Prepare the Storage Directory and Set Up Image Links
Before running the database migrations and seeding, execute the following 3 commands to prepare the storage directory and link the images you’ll need for the project:
----- Step 3: Run Migrations and Seed the Database
Once the image directories are set up, run the migrations and seed the database:
- php artisan migrate:fresh --seed
When adding a new product, the admin has the option to immediately apply a discount if they wish. By clicking on 'Add Discount', a modal is activated in which all currently active discounts are displayed.
----- Step 4: Start the Development
Finally, run the Laravel development server:
- php artisan serve
When adding a new brand, the admin also has the option to apply a discount to the entire product range of that brand.
You can now access the admin panel at http://localhost:8000.
Profile changes are also applicable. The admin can change the image, name, email, and password.
- Ideas for further development of the application:
----- Admin Panel Functionalities -----
1. Product Management
The admin can manage products using full CRUD functionality. This includes:
In the future, the application could have separate roles for Super Admin and Admin.
The Super Admin will be able to do everything the Admin can do, plus additional options that the Admin will not have access to. For example:
Adding, Editing, and Deleting Products: The admin can perform all CRUD operations on products.
Adding Images: Admins can upload product images.
Discounts: Admins can apply discounts when adding a new product by selecting an active discount from a list displayed in a modal.
2. Brand Management
The admin can also manage brands:
The admin can reduce the price of a product, but the price will only be reduced when approved by the Super Admin.
When editing a product and manually reducing stock, the admin must enter a reason (e.g., theft, spoilage, damage).
The Super Admin will have visibility into the most active customers in the past week/month/year, with access to their orders.
The Super Admin will have exclusive access to apply discounts aimed at certain authenticated users based on their activity level.
Sending an email to the Super Admin for every completed order.
Adding New Brands: When adding a brand, the admin can apply a discount to all products within that brand.
3. Account Settings
Admins can modify their profile settings:
Listing the most favorited products from the past week.
Change Profile Image: Update the profile picture.
Update Personal Information: Change the name, email, and password.
Password Change: Admins must provide the old password before entering a new one.
Listing products with stock numbers greater than the average stock level for all products, with suggestions to apply discounts to these products.
Automatically activating a weekend discount for products that have had no activity in the last two weeks.
Automatically applying a monthly discount to the entire brand at the end of each month, based on the brand with the least sold items in the previous month.
And many other functionalities.
Final Notes:
I apologize for some of the design elements that I couldn't finalize, as well as for the minor functionalities I wasn't able to finish them (still working on it).
I hope you like the application overall and I look forward to your honest feedback on my work.
--- Future Development Ideas:
There are many exciting features planned for future development:
- Role-Based Access Control: Separate roles for Super Admin and Admin.
- Super Admin will have additional powers, such as approving product price reductions and monitoring customer activity.
Super Admin Features:
- Ability to approve product price reductions suggested by the Admin.
- View the most active customers and their order history.
- Apply discounts to specific users based on activity levels.
- Receive email notifications for every completed order.
Product and Discount Automation:
- Discount Suggestions: Automatically suggest discounts for products with high stock levels.
- Weekend Discounts: Automatically apply discounts to products with no activity in the last two weeks.
- Monthly Brand Discounts: Apply discounts to brands with the lowest sales in the previous month.
Additional Analytics:
- Most favorited products from the past week.
- Monitor stock levels and suggest discounts for overstocked items.
- Localization and Language Notes
!!! Apologies for some of the Macedonian language-based features and naming conventions, as this project was created for a real client in Macedonia.