Jumga is a Flutterwave code challenge for an Ideal E-commerce platform where merchant set up their platform with a token and have their shop running within seconds.
The application can be tested online here JUMGA
Video Demo of how the application work is available here JUMGA DEMO VIDEO
Find test credentials below;
Admin => Email: [email protected] Password: admin12345!
Merchant => Email: [email protected] Password: test12345!
Merchant => Email: [email protected] Password: successtar1#
- Merchant and Admin Authentication (Login, Register, and Email Activation)
- Merchant Onboarding and setting up of online shop after paying a token
- Fund management between Jumga, Merchant, and dispatch
- Admin overview of all merchants, transactions, orders, products and other administrative activities.
- Merchant activities which include adding and deleting of products, insight to orders and dashaboard
- Customers seeing different shops to buy from and make purchase with ease
- Intuitive UI/UX
- Language: PHP (^7.3|^8.0), JavaScript
- Framework: Laravel (^8.12)
- Library: JQuery (v3.4.1), Bootstrap ^4.4, toastr
- Database: SQL (MYSQL, PgSQL)
- Flutterwave Account
- composer, php ^7.3, MySQL/PgSQL are required to set the application up locally
- Clone this repository
- RUN composer install to install dependencies
- Create a file with the name .env in the root directory
- Copy all the content in the .env.example file to the file you just created
- Edit the .env file by filling the required fields which include database credentials (DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD), Flutterwave test credentials (FW_PUBKEY, FW_SECKEY, FW_ENCKEY), and Mail Credentials (MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION)
- RUN php artisan migrate --seed to set up your db
- RUN php artisan key:generate to generate the app key
- RUN php artisan serve to start the app
- You should be able to access the app via http://127.0.0.1:8000. The test credentials above for admin and merchants and be used to login
- To receive webhook callback for transaction from flutterwave set your webhool url to https://{PUBLIC HOST}/transaction/webhook. For local set up you can checkout ngrok or expose
- If you are having issue setting up the app, you can check the laravel documentation or raise an issue
- OS: Ubuntu 20.04
- PHP : PHP 7.3
- Server: Nginx 1.18
- Database: MySQL 8.0.22
- Platform: Heroku
- Deployment: Heroku Pipeline (Github)
- Database: PgSQL
- File Storage: Cloudinary