I need a simple laravel web app with following features:
1. A home page with the header always visible on top (using this type of header layout for every page) and the body with Parallax scrolling effect. In the header, put a demo logo on the left side and two hyperlinks on the right side: Login and Create an Account. In the body, add some demo slides. In the last slide, put some hyperlinks at the bottom likes About Us, How it Works, Price, Terms of Service, Contact Us.
2. User Management:
1.1 User can register on a simple form with 4 fields: full name, email address, password and captcha. After registering, log the user in automatically. User can also log in using OpenID (Google, Facebook, Twitter, Microsoft...). If user choose to log in with OpenID, please collect full name and email address.
1.2 In the first time user logging in, showing a "Terms of Service" page in a scrollable box and a toolbar at the bottom with two buttons: "Agree" and "Disagree". If user clicks on the "Disagree" button, log her out and go to the home page. Otherwise if user clicks on the "Agree" button, go to user's dashboard page.
1.3 Each user has a unique profile. Please make the code easy to change so that we can add or modify some fields in the user profile.
1.4 There are two types of user: free user and paid user. User can pay one time using PalPay or credit card to be a paid user. Please use a demo PalPay account to receive money at this time. The price of service is configurable in the admin module.
1.5 Support OAuth 2.0 to allow a third party website or mobile app to access user profile information.
3. Logged user menu:
Once user logged in, show her name on the left of the header. When user clicks on the name, show user information page and allow her to change her name, password, validate email if it has not been validated yet. The validation link is valid on 24 hours only.
4. Email validation notification:
If user does not validate email address, pop down a top notification with the message: "You did not validate your email. Click here to validate your email so that you can reset your password when you forgot it!". User can close this notification if she doesn't want to see it again.
5. Upgrade Account button:
After user logs in, if she is using a free account, show a highlight button with the text "Upgrade Account". When user clicks on the button, let her to pay our service described in part #1.4.
6. Dashboard page:
The body of the dashboard page is the user profile information.
7. REST API:
The registered users has to register their app to get an app ID before reading or writing user profile. Once an app is registered and authorised using OAuth 2.0, it can access profile information of any users. Two REST methods must be supported are getting and updating user profile.
8. Admin module:
There are 4 roles of administrators. Add features to admin module corresponding with each role:
8.1 System administrator can manage users
8.2 Content administrator can manage the content of the webpages such as home page's slides, About Us, Term of Service...
8.3 Financial administrator can set the service price, manage the financial reports.
8.4 Root administrator has all three roles above.
9. Support multiple language. English is default and must be supported for now.
10. Database is MySQL.
11. Store password in MD5 hash code.
12. Third party libraries:
You can use third party libraries those are in non-copyleft open source licenses like Apache, MIT and BSD. Otherwise, please ask me first.
17 freelancers are bidding on average $834 for this job
I have exp. in developing the similar product for savaari car rental Ltd. and LG India. With my Freelancing career of 7 year delivers quality product on time to customers.