Table of Contents
To develop the below features by using React.js, Laravel, MySOL and deploy it on a server (preferable AWS).
Live Url : https://referroute.herokuapp.com/
Test Accounts :
- Email : admin@email.com , Password : admin09
- Email : adc@email.com , Password : 123456
Feature List:
- [x] (1) Login
- [x] (2) Sign up
- [x] (3) Edit Profile:
- [ ] Exact Location (Google places API) (*Note : Currently storing location as a string only)
- [x] (3) Profile View
- [x] (4) New Post
- [x] (4) Post view
- [x] (4) Like Button
- [x] (5) Make sure when a user makes a post the other user can see it.
Addition Features Added
- [x] Edit Post
- [x] Delete Post
- [x] Advance Editor for post content (ckeditor)
- [x] Image Upload for Post
- [x] Pagination for Posts
- Laravel
- React
- Redux
- MySQL
- Heroku (For Hosting)
- db4free.net (For MYSQL host)
Clone the repository. Do the following steps to get it up and running:
- Set your db configuration in .env
composer install
npm install
php artisan migrate
-
npm run watch
*(To start React frontend) -
php artisan serve
*(To start Laravel backend api)
You can access the application at http://127.0.0.1:8000/
*For react production build - execute npm run prod
(*) represents routes which requires authorization header as - Bearer
Routes | Method | Description |
---|---|---|
api/login | POST | Login route. |
api/logout | GET | User Logout. |
api/register | POST | User registeration. |
api/check-auth | GET | Authenticate user. |
api/profile | GET | Get user profile. |
api/profile/update | POST | Update user profile. |
api/posts?page= | GET | List all posts. (Returns 10 items per page with pagination data ) |
api/posts/:id | GET | Get post by id. |
api/posts | POST | Create new post. |
api/posts/likes | POST | Like post by id. |
api/posts/:id | PUT | Edit post by id. |
*api/posts/:id | DELETE | Delete post by id. |