ارائه شده توسط @NulledScript

ترجمه از نال اسکریپت

موکتز یک اپلیکیشن مدیریت فروشگاه اندرویدی است که توسط نال اسکریپت @NulledScript پاب شده است.

سپاس از خرید شما، اگر هر سوالی درمورد پروژه داشتین میتونید از طریق تلگرام من با آی دی @NulledScript تماس بگیرید یا اینکه در وبسایت برای ما تیکت ارسال کنید. ارسال تیکت



منتشر شده توسط : اسکریپت یاب
تماس: info@scriptyab.com
نسخه اپلیکیشن: 1.0.8
نسخه مستند 1.1.4
ایجاد شده: 8/Aug/2016
آخرین اصلاحیه: 20/Jun/2017

Mokets! It is full application kind of solution to build the Mobile Commerce Application for Android Platform. It might be reduce a lot of hours for development from scratch. RESTFUL API will handle for data transfer in between Mobile App and Backend System. Moreover, Backend is not only content management but also supports Data Analytics module to know easily popular items(Most Interesting Item) from system.

تکنولوژی های استفاده شده : Native Android Development, Java JDK, Android SDK, Android Studio, Google Map, Google Cloud Messaging, CodeIgniter, Bootstrap, RESTFUL, Google Chart API

نکته : بعد از دانلود فایل اصلی پروژه از کدانواتو، مواردی که نیاز دارید بخوانید :
1. نصب SDK و استودیو
2. ایمپورت پروژه
3. سینک کردن کتابخانه های پروژه
4. ساختار پکیج پروژه
5. کانفیگ فایل برای RestAPI
6. آیکن اپلیکیشن, متن های پروژه, پالت متریال دیزاین
7. ایجاد کلید های گوگل مپ و FCM

8. کانفگ سرور و ایمپورت دیتابیس
9. مدیریت فروشگاه
10. روش های پرداخت
11. نقش کاربر و دسترسی ها
12. CRUD

13. تحلیل داده ها, استخراج دیتابیس

امکانات و ویژگی های برجسته اپلیکیشن اندروید
متریال دیزاین
پارالکس افکت اسکرول
لیست فروشگاه ها
دسته ها و زیر دسته ها
نمایش حالت گرید آیتم ها
جزییات آیتم و گالری
دیدگاه های کاربر
آیتم های لایک شده کاربر
لیست علاقه مندی های کاربر
ثبت نام کاربر، لاگین، فراموشی کلمه عبور
مدیریت پروفایل
اشتراک گذاری آیتم ها

امکانات و ویژگی های برجسته پنل مدیریت
مدیریت فروشگاه ها
مدیریت دستهها و زیر دسته ها
مدیریت آیتم ها (محصولات)
مدیریت لایک، دیدگاه، علاقه مندی های آیتم ها
پیام های پرس و جو
مدیریت کاربران ثبت نام شده
کاربران سیستم و مدیریت دسترسی ها
تحلیل داده ها با استفاده از گوگل چارت
ارسال نوتیفیکیشن
بکاپ گیری از دیتابیس
ویژگی های API
RESTFUL API با JSON

محیط توسعه

برای توسعه اندروید شما نیاز دارید ابتدا محیط توسعه را آماده کنید.

ابتدا JDK را از لینک مقابل نصب کنید. اینجا

نصب اندروید استودیو بعنوان برنامه رسمی توسعه اندروید. اندروید استودیو

از اندروید استودیو شما میتوانید پکیج های لازم SDK را نصب کنید
Menu -> Tools -> Android -> SDK Manager
According the app's targetSdkVersion from gradle file, you might need to install Android 7.0 (API 24)


نصب SDK Build-Tools 24.0.1


توسعه مستقیم و تست بر روی دستگاه واقعی بهترینم روش می باشد امما اگر دنبال برنامه شبیه ساز اندروید هستید، پیشنهاد میکنم جنیموشن را نصب کنید.جنی موشن (نکته : نصب Google Play Service برای Google Map و GCM ضروری است.)


ایمپورت پروژه

برای توسعه شما باید پروژه اندروید را به اندروید استودیو خود ایمپورت کنید.

بعد از دانلود سورس از کدانواتو، پروژه در این مسیر فایل سورس است "Mobile Source\Mokets".

ایمپورت از منوی ( File -> New -> Import Project ). وقتی صفحه پاپ اپ باز میشود، لطفا برو به پوشه(ذکر شده در مرحله 1). بله، لطفا پروژه را در محیط توسعه کاری کپی کن.

برای اطمینان از مسیر صحیح نصب SDK و JDK پروژه ایمپورت شده، Right Click project -> Open Module Settings. در پنجره پاپ اپ باز شده مسیر نصب را چک کنید.


کتابخانه های مورد نیاز

کتابخانه های مورد نیاز برخی کتابخانه های اضافی برای پروژه هستند. در حالت عادی، گرادل این کتابخانه ها را اعلام میکند سپس اندروید این کتابخانه ها را دانلود و به محیط پروژه اضافه و آنها را سینک میکند.

در فایلی با نام build.gradle در مسیر "Mokets\app\build.gradle" اعلام شدن.

زمانیکه اندروید استودیو از شما برای سنک کردن پروژه برای کتابخانه ها سوال کرد، لطفا روی گزینه "سنک" کلیک کنید و منتظر بمانید تا این کار با موفقیت به پایان برسد.لطفا مطمئن شوید که تیک گزینه "Offline work" را برداشته اید، اگر هنوز هم سنک نشد و نتوانست دانلود کند به این مسیر بروید. (Android Studio -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle )


پکیج فایل های جاوا

در پروژه چندین پکیج وجود دارد که برای راحتی در اآینده می باشند.

نام پکیج توضیحات
com.panaceasoft.mokets.activities For activities representing pages
com.panaceasoft.mokets.adapters For all adapters class
com.panaceasoft.mokets.fragments For all fragments to reuse according application work flow
com.panaceasoft.mokets.listeners For all listeners for UI event handeling
com.panaceasoft.mokets.models For all Parcelable and POJO files
com.panaceasoft.mokets.uis For some common UI libs
com.panaceasoft.mokets.utlities For some utility file which contains some common function to use from whole project

تغییر نام پکیج

در حال حاضر نام پکیج اصلی "com.panaceasoft.mokets" است. بعد از خرید سورس شما باید نام پکیج خودتان را جایگزین کنید.

در Project pane خودتان، روی ایکن کوچک چرخ دنده کلیک کنید

تیک گزینه Compact Empty Middle Packages را بردارید

Your package directory will now be broken up in individual directories.

- Right-click it
- Select Refactor
- Click on Rename
- In the Pop-up dialog, click on Rename Package instead of Rename Directory
- Enter the new name and hit Refactor
- Allow a minute to let Android Studio update all changes
- Note: When renaming com in Android Studio, it might give a warning. In such case, select Rename All

حالا فایل Gradle Build را باز کنید (build.gradle - Usually app or mobile). applicationId را به نام پکیج جدید خود بروزرسانی و با گرادل سینک کنید، اگر بصورت اتوماتیک بروزرسانی نشده بود

لطفا فایل activity_detail.xml را از مسیر "res\layout\" باز کنید سپس به این خط یک نگاهی بندازید app:layout_behavior="com.panaceasoft.mokets.utilities.ScrollingFABBehavior"
شما باید این نام پکیج را با توجه به نام پکیج خودتان تغییر دهید.


شما میتوایند آیکن جدید از Android Assets Studio برای اپلیکیشن خود درست کنید. بعد از آن شما میتوایند فایل ic_launcher.png را در mipmap-mdpi, mipmap-hdpi, mipmap-xhdpi, mipmap-xxhdpi, mipmap-xxxhdpi جایگزین کنید. اگر میخوایهد درباره رزولوشن صفحات و تناسب آنها بدایند به تصویر زیر توجه کنید.


رنگ های متریال دیزاین

رنگ در متریال دیزاین الهام گرفته از رنگ های جسورانه در کنار محیط های خاموش، سایه های عمیق و برجسته های روشن می باشند. (اینجا را بخوانید)

نام فایل توضیحات
/src/main/res/values/colors.xml شما میتوایند رنگ های دیگر متریال دیزاین را جایگزین رنگ های کنونی در فایل colors.xml کنید. اگر درمورد انتخاب و ترکیب نگ ها نمیدانید، پالت های متریال به شما کمک میکند تا براحتی رنگ ها را انتخاب کنید.

متن های پروژه

همه ی متن ها و برچسب های استفاده شده از این فایل قابل تغییر هستند.

نام فایل توضیحات
/src/main/res/values/strings.xml جایگزینی متن ها با متن های جدید در فایل strings.xml همچنین تغییر نام اپلیکیشن از طریق تغییر "app_name"

لینک API

شما باید لینک APIرا به نام دامنه و آدرسی که پروژه را آپلود کردید تغییر دهید.

نام فایل توضیحات
src/main/java/com/panaceasoft
/mokets/Config.java
شما باید لینک API را به آدرس دامنه خودتان تغییر دهید .
public static final String APP_API_URL = "http://www.yourdomain.com/mokets-admin/index.php";
public static final String APP_IMAGES_URL = "http://www.yourdomain.com/mokets-admin/uploads/";

کلید گوگل مپ

در Google Map V2، شما باید یک کلید API برای دسترسی به Google Developer Console تولید کنید.

شما باید با ستفاده از حساب کاربری گوگل خود لاگین کنید به Google Developers Console.

بعد از لاگین به Google Developer Console، لطفا پروژه جدید ایجاد کنید

بعد از ایجاد پروژه، ابتدا پروژه را انتخاب کنید پس "APIs & auth" -> "APIs". "Google Maps Android API v2" را فعال کنید

این دستور را در ترمینال اجرا کنید تا به شما SHA1 Fingerprint بدهد
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
بعد از اجرا دستور در صفحه ترمینال، شما خواهید دید یک کد MD5، SHA1 و SHA256. لطفا فقط SHA1 را کپی کنید.

شما باید از این طریق یک کلید جدید ایجاد کنید "APIs & auth" -> "Credentials" -> "Create new Key"

شما باید یک "Android Key" (کلید اندروید) ایجاد کنید.

کلید SHA1 که در مرحله 4 گرفتین را وارد کنید. بعد از کلید SHA1، شما باید نام پکیج اپلیکیشن را وارد کنید.

لطفا کلید API را در اپلیکیشن اندروید خود قرار دهید.

لطفا Map Key API را در AndroidManifext.xml قرار دهید.



Firebase Cloud Messaging

ارسال داده از سرور به دستگاه های کاربران و دریافت پیام از طرف دستگاه های کاربان. FCM این سرویس را به شما می دهد تا برای کاربران اپلیکیشن خود پیام بصورت صف بندی شده بفرستید و این سرویس کاملا رایگان است.

شما ابتدا باید در Firebase Console با استفاده از حساب کاربری جیمیل لاگین کنید.

بعد از لاگین به Firebase Console، لطفا یک پروژه جدید ایجاد کنید



گزینه "Add Firebase to your Android App" را انتخاب کنید.

3.1 جزییات اپلیکیشن را وارد کنید


3.2 فایل کانفیگ را کپی کنید


3.3 به گرادل اضافه کنید

(نکته : این انجام شده است پس شما نیازی ندارید تا به فایل گرادل اضافه کنید.)

4.1 برای گرفتن Web API KEY. لطفا روی "Manage" کلید کنید


4.2 لطفا Web API Key را کپی کنید


4.3 نکته مهم : لطفا به زبانه(تب) "Cloud Messaging" بروید. اگر "Server key (legacy token)" را مشاهده کردید، شما نیاز دارید تا از آن کلید استفاده کنید. فقط از کلید مرحله 4.2 صرف نظر کنید


*** اگر شما "Server key (legacy token)" در "Cloud Messaging" نداشتید، کلید شما کلید مرحله 4.2 می باشد.

شما باید کلید بدست امده را در فایل config.php سمت سرور وارد کنید.
$config['fcm_api_key'] = "------- your key -------";


کانفیگ کردن

شما باید بعضی تنظیمات را در کدایگنایتر تغییر دهید.

نام فایل توضیحات
config.php براس استفاده از سرویس ایمیل شما باید تنظیمات ایمیل را تغییر دهید تا بتونید ایمیل بفرست برای مثال فرستادن ایمیل برای فراموشی رمز عبور سیستم از این ایمیل استفاده خواهد کرد.(مسیر : application/config/config.php)

$config['sender_email'] = your hosting email address;
$config['sender_name'] = sender name;
$config['stripe_secret_key'] = "sk_test_lxHiiU2NyaXB0WUFC";


توجه : لطفا به "چگونگی گرفتن Stripe API" نگاهی بندازید
database.php شما باید تنظیمات دیتابیس را باتوجه با تنظیمات خودتان تغییر دهید.(مسیر : application/config/database.php)

$db['default']['hostname'] = database host name;
$db['default']['username'] = database username;
$db['default']['password'] = database password;
$db['default']['database'] = database name;

ایمپورت دیتابیس

شما باید دیتابیس خودتان را به پایگاه داده MySQL ایمپورت کنید.

به دیتابیس MySQL بروید و یک دیتابیس با نام "mokets" ایجاد کنید

به تب "Import Tab" رفته. سپس بر روی دکمه "Browse" کلید کنید تا فایل sql را انتخاب کنید و وارد کنید.

شما باید فایل "sample_data.sql" را از پوشه "Sample Data" انتخاب کنید. در نهارد بر روی دکمه "Go" کلیک کنید تا دیتابیس ایمپورت شود.


اعتبارسنجی ورود

بعد از نصب موفقیت امیز سیستم شما میتوانید با حساب های کاربری متفاوتی وارد سیستم شوید. لطفا این آدرس را در مورورگر وارد کنید : http://yourdomain.com/mokets/

نقش کاربر توضیحات
کاربر ادمین شما میتوانید با حساب کاربری ادمین(مدیر ارشد) وارد سیستم شوید.

username : admin
password : admin

در این سیستم سه سطح دسترسی وجود دارد. که عبارتند از :

اطلاعات حساب های کاربری پیش فرض
Username : admin, Password : admin (حساب کاربری مدیر ارشد با دسترسی کامل)
Username : manager, Password : manager (حساب کاربری مدیر بادسترسی نیمه محدود)

در سیستم بصورت پیش فرض 4 فروشگاه با حساب های کاربری مدیران فروشگاه متفاوت. باید تویجه کرد که مدیر ارشد به همه ی فروشگاه ها یکجا دسترسی کامل خودهاد داشت.
(For Shop 1) Username : shop1_admin, Password : shop1
(For Shop 2) Username : shop2_admin, Password : shop2
(For Shop 3) Username : shop3_admin, Password : shop3
(For Shop 4) Username : shop4_admin, Password : shop4

توجه : اگر شما مدیر فروشگاه 'Shop 1' هستید، شما فقط میتوانید به فروشگاه 'Shop 1' دسترسی داشته باشید. Yشما نمیتوانید با این سطح دسترسی به بقیه فروشگاه ها دسترسی داشته باشید.


موکتز فقط برای مدیریت یک فروشگاه نیست میتوانید با آن چند فروشگاه را همزمان مدیریت کنید. در گام اول باید مدیر ارشد یک فروشگاه جدیری با یک حساب کاربری برای مدیر فروشگاه ایجاد کند.

ایجاد فروشگاه

فرض کنید که من با استفاده از حساب کاربری مدیر ارشد در حال ایجاد یک فروشگاه هستم

بعد از لاگین موفق به سیستم، شما لیست فروشگاه ها را می بینید. اگر میخواهید فروشگاه جدید بسازید بر روی دکمه ایجاد فروشگاه جدید کلیک کنید.

شما باید اطلاعات لازم فروشگاه را وارد کنید.

ویرایش فروشگاه

فرض کنید که من با استفاده از حساب کاربری مدیر ارشد در حال ویرایش یک فروشگاه هستم

بعد از لاگین موفق در سیستم با حساب کاربری مدیر، به صفحه داشبورد فروشگاه بروید و گار میخواهید اطلاعات فروشگاه موجود را ویرایش کنید. از نوار بالا روی نام فروشگاه کلیک کنید.

شما میتوانید اطلاعات فروشگاه را ویرایش کنید.


سه روش پرداخت در سیستم وجود دارد که عبارتند از: استریپ، پرداخت نقدی هنگام تحویل و انتقال بانکی آنلاین.

روش های پرداخت

درمورد تنظیم های لازم و ضروری آنها توضیح خواهم داد.

فرض کنید که شما حساب استریپ دارید. لطفا کلید های "Publishable Key" و "Secret Key" را از داشبورد حساب استریپ خود بگیرید. و دوتا کلید را دی این قسمت که در تصویر میبینید وارد کنید. اگر حساب استریپ ندارید میتوایند از اینجا ثبت نام کنید

توجه: اگر نمیخواهید پرداخت استریپ در اپلیکیشن فعال باشد، کافیست تیک گزینه انتشار را بردارید.

برای این روش ابتدا یک ایمیل فراهم کنید تا با کاربر برای پروسه پرداخت نقدی حین تحویل تعامل داشته باشد. شما اعلانات اطلاعات COD را در این ایمیل دیافت خواهید کرد.

توجه: اگر نمیخواهید پرداخت COD در اپلیکیشن فعال باشد، کافیست تیک گزینه انتشار را بردارید.

لطفا اطلاعات لازم برای روش پرداخت انتقال بانکی را وارد کنید تا کاربر بتواند تراکنش های بانکی داشته باشد.

توجه: اگر نمیخواهید پرداخت انتقال بانکی در اپلیکیشن فعال باشد، کافیست تیک گزینه انتشار را بردارید.


شما نیاز دارید تا یک کلید برای Stripe API از داشبورد Stripe تولید کنید

کلید های Stripe API

میخواهم بهتون توضیح بدم که چطوری تنظیمات لازم را انجام دهید.

از اینجا در سایت استریپ لاگین کنید و وارد حساب خود شوید : https://dashboard.stripe.com/login

لطفا از طریق منو وارد تنظیمات حساب خود شوید.

برو به زبانه API Keys.


بعد از لاگین کردن در پنل مدیریت و وارد شدن بپنل مدیریت فروشگاه در منوی سمت راست. شما میتوایند CRUD رابرای "دسته ها"، "زیر دسته ها"، "آیتم ها" و "فید ها" مدیریت کنید.
شما میتوانید قسمت های "لایک ها"، "دیدگاه ها"، "علاقه مندی ها"، "پرس و جو ها" و کاربران ثبت نامی را ویرایش یا حذف کنید.

بعنوان مثال

مشخوام یک مثالی از ماژول CRUD برای شما نشان دهم.

وقتی از منوی سمت راستی بروی "آیتم ها" کلیک میکنید، شما آیتم ها را بصورت جدولی می بینید(لیست ویو) میبینید. شما میتوایند براحتی سرچ کنید، فیلتر کنید و یا آیتم را منتشر یا معلق کنید و همچنین آنرا ویرایش یا حذف کنید.

اگر میخواهید آیتم جدید اضافه کنید بروی دیکمه "افزودن آیتم جدید" کلیک کنید. بعد از آن شما به صفحه افزودن آیتم هدایت مشوید و با پر کردن فیلد های لازم بروی دکمه "ذخیره" یا "ذخیره و برو به گالری" کلیک کنید.

با کلیک بر روی "ذخیره و برو به گالری" شما آپلود چندگانه تصاویر برای آیتم را میبینید.


تحلیل ها یک راه اساسی برای گسترش بیزینس و موفقیت و عدم موفقیت آنرا نشان می دهد. هر کاربری با استفاده کردن از اپلیکیشن تمام داده ها ثبت شده و در نهایت برای شما این داده های بصورت تصویری نمایش داده می شود.

تحلیل ها

برای مثال "محبوب ترین آیتم (محصول)"

از منوی سایدبار گزینه "تجزیه و تحلیل" را انتخاب کنید، سپس دسته و زیر دسته را انتخاب کنید. بعد از آن بروی دکمه "ایجاد گزارش" کلیک کنید تا نتایجه به شما نمایش داده شود.


برای بکاپ گرفتن ار دیتابیس در صفحه لیست فروشگاه ها در نوار بالا بروی دکمه "استخراج دیتابیس" بزنید تا برای شما بکاپ گرفته شود.