tonyalaribe / mybonways Goto Github PK
View Code? Open in Web Editor NEWView promos from stores around you
Home Page: https://mybonways.com
View promos from stores around you
Home Page: https://mybonways.com
I'll handle this
Improve the various submissions forms to:
Slideout toggle hamburger doesnt work, so its not possible to click the hamburger to toggle the slideout menu.(it only works the first click)
Go through the entire app, ui, admin and merchant, then load a toast when there is success or error (in forms, flows, etc). Its very easy to integrate. just a line or so. I think the css is already on the documents. DO this asap
Implement a tab navigation on the promo details page. This tab should be javascript based, and should not rely on the router. Switching tabs should simply switch out content.
Preferably the content should slide in. You could look into using animate.css, if that would help. (You could leave this for later if its taking too much time)
Locations dropdown
The promo detail page on merchant dashboard should look better.
Write all the missing steps from pulling the repo, to creating the db, and running the db, and in the future, to deploying the app. Make it more personalised to our project, so anyone can get the app running and know their way around it, without asking us each time. Clear this as soon as possible, as it would be an issue that we'll keep going back to
Make location access compulsory for users on first visit. Set the location as default location with localforage....
YOu're storing password as string. Take cue from the merchant signup. Also, you should a field called provider, so you can specify how the user signed up, whether via email or social media (there would be social media login support)
Please check if the map view still works well, and fix if it doesnt. promos dont seem to be showing on it.
, when user selects the search around current location button, since theres a delay during which the browser tries to get the gps coordinates
Implement with. https://feimosi.github.io/baguetteBox.js/. So we can click the images on promo details for high qiality ones. Bo for the featured image, and the other images.
A signed in user should be able to make a reservation for a promo. And the merchant should be able to see a list of reservations, and search reservations by the name of the user or the reservation id. All users should get an id after making a reservation. The id is what they would use to redeem the reservation, like a coupon code.
Hence the need for a merchant to be able to verify a reservation code, and to mark that the code has been used(redeemed).
when content is still being loaded on the home page or llist views in general, there should be a way for the user to know content is being loaded, instead of seeing a blank screen
Create a very simple account verification successful page, for merchant and user verification. so instead of showing json, it just shows the page. The page should be simple, just a static page, no mithril. And rendered using the same way index.html is rendered. Design it as you see fit, but a logo, a bit of text and a link to the main app (index if user and merchant dashboard if merchant signup)
Make map view look better, and work by centering the map at the users current location
Multi language support with i18n
Re implement all date pickers in the app, specially the ones for adding promos. Promos, are supposed to track both date and time, but currently only track date. So its not possible for a merchant to start a campaign that ends by 4pm sharp tomorrow. Use https://chmln.github.io/flatpickr/ for the time-date picker. Cos its cross browser compatible, and supports both time and date.
For now this could be used to send the verification codes to users.
Build a dashboard for merchants, using the front end design as a starting point. The dasboard is going to have the following functionality:
Manage the number of branches of a store (Each branch would include its address and its gps coordinates)
Add promo items to an inventory
Delete items from the inventory
View list of items in the inventory
Manage members who have access to the store.
I should be possible for the owner of the store to add new users to the store
So these new users would be able to manage the store as well(Useful for stores with multiple employees)
The login process into a store as a merchant should include:
Store id,
email
password
Design only the static html
Using the mithril page i created, build a handler, that stores the merchant store to the db, and generates a verification url that would be sent to the merchant's email. For now, dont send the emails. Just log the url to terminal, such that the we can manually visit the URL to complete the verification process, before the user would then be able to login. You can add a flag in the db to signify verified accounts. so when the user visits the url, the flag is turned to true. Then the login form would equally have to make sure the flag is true, before login anyone in.
Then create the login flow as well. THese are the details.
localhost:3000/api/merchants/signup
(should log verification url in the terminal)
Make sure passwords are encrypted with bcrypt and the bcrypted passwords stored
payload:
{
"CompanyName":"<name of company",
"CompanyID":"<a unique company id that would be used in login in>",
"MerchantEmail":"<merchant email>",
"MerchantPassword":"<merchant password>"
}
response:
{
"message":"successfully created merchant, proceed with email verification(or something better)"
}
localhost:3000/api/merchants/login
Should generate a json web token (jwt). If its giving you dificulties, leave it for me.
payload:
{
"MerchantEmail":"<merchant email>",
"MerchantPassword":"<merchant password>"
}
response:
{
"message":"successfully....",
"Merchant":{
"CompanyName":"<name of company",
"CompanyID":"<a unique company id that would be used in login in>",
"MerchantEmail":"<merchant email>",
"MerchantPassword":"<merchant password>"
},
Token:"xxxxxxx.....",
}
Trace the flow of categories. when you add a promo, how is the category stored? Make sure the category that shows on the promo list on the front end side, is not a slug. I dont even think we need a slug with categories, but if we're using a slug, the category that users see should be normal text, and not slugs with random characters at the end. make sure when you click see all on a category, it loads the categories promos
Admin should be able to see all promos
After typing search query, selecting an item from the locations drop down of the area auto complete box should trigger a search.
Improve the gifts for proper testing...
Neighbourhoods in Douala
Bonaberi
Bonanjo
Joss
Bonapriso
Nkondo
New Bell
Bali
Nkongmondo
Koumassi
Bali
Bonadoumbe
Bonadouma
Bonadibong
Akwa
Akwa nord
Nkololoun
Ngangue
Bonaloka
Brazzaville
Km5
Yabassi
Ngodi
Bonamikengue
Deido
Bonateki
Bepanda
Ndogbati
Bassa
Makepe
Ndogbong
Zone industrielle bassa
Nylon
Madagascar
Bonadiwoto
Aéroport
Tergal
Cité des palmiers
Beedi
Logpom
Kotto
Bonamossadi
Bell
Youpwe
Port
Bessengue
Ndogbassi
Makepe missoke
Categories:
1 - Beauté/Cosmetique
2 - Bricolage / Decoration
3 - Cadeau
4 - Enfants
5 - Supermarché/Shopping
6 - Banque/Service
7 - Sorties / Restaurant / Snack
8 - Transport /Service
9 - Santé / Bien-être
10 - Location
11 - Electronique / Service
Make admin able to add locations: City, State, Country
The locations tab should display the list of branches a store has. With their addresses, and a button to get directions to the location on the map.
Allow users change profile image
POST: localhost:3000/api/merchants
request json:
{
"company_name":"My BonWays",
"company_id":"mybonways",
"merchant_email":"[email protected]",
"merchant_password":"password"
}
response json:
{
"id": "a1d00aeb-ea86-4440-9823-157c73afbc6b",
"created_at": "2017-06-13T10:45:43.340797122+01:00",
"updated_at": "2017-06-13T10:45:43.340798293+01:00",
"approved": false,
"company_name": "My BonWays",
"company_id": "mybonways",
"merchant_email": "[email protected]",
"merchant_password": ""
}
Endeavor to use m.withAttr("value") to bind the form values to an object. Then create a model in the model folder. You could call it User or anything you prefer that makes sense. All logic should be in the models(but no mithril or html code should be there, other than m.request). The model should be such that it can be reused in a non mithril application
Comment and favorite posts. Comments would probably happen in a third tab in the promo details page. and then the comments count and favorites count would need to be shown on the promo item
Remove double promos on the search...
Add a favicon
Use the same technique i used in the search results, to display a blurred version of the featured image, while the higher quality version loads.
All views should look good both on mobile and pc
2 in one should manually list catogories and a row of promos per category
See all can take you to a kind of search result page showing only results for that category. One way of doing this is modifying search result page to also work with a category option. When category is set, the results will be all under the category
Cat 1. see all>>
[promo][promo][promo][promo]
Cat 1 see all>>
[promo][promo][promo][promo]
Cat 1. see all>>
[promo][promo][promo][promo]
Cat 1 see all>>
[promo][promo][promo][promo]
Cat 1. see all>>
[promo][promo][promo][promo]
Cat 1 see all>>
[promo][promo][promo][promo]
There would be just one profile page which would have all of that. Probably as sections liksting 5 or ten items, and a load more to make more appear on the same page.
Duplicate sliders on the admin sliders view...
Create a list of merchant promos.
Make the table responsive for mobile
create form to add to the list of promos
list should contain image reservation count etc. and edit and delete button.
The header image currently contains a magical milkshake demo image. Make it possible to add new slider images, list existing slider images, and delete slider images. Then make the header image a slider that loads content from the server. The slider content should consist of an image src url, and a link. Such that when the particular slide image is clicked, it loads the given page, which could be an internal link(link to a promo on the site, or a link to the advertisers site). For the slider, make sure anything being used, does not rely on jquery, and is pure javascript based.
Compress uploaded images using pica.js or canva
Change categories in editpromo page to drop down
Make provisions for merchants to add, delete, and create new stores.
Each store should have
A route to get all the common analytics system wide and for merchant respectively should be made.
The numbers at the top of the merchant and admin dashboards should be replaced with live data. @spankie
Users should be able to signup. It should be written in a pllugable way. So the user might be able to signup and login via email and password, or via social auth. Hence the signup provider should be taken note of.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.