- Java 8
- Spring Boot 1.5.x
- Maven 3.5.x
- Lombok
- Google App Engine 1.9.5x (Deploy Standard, Maximum 15 services Pricing Quota)
- Google Cloud Storage (5 GB-months Pricing Quota)
- Google Cloud Datastore (1 GB storage per day Pricing & Quota)
- App Engine Application Logs (100 megabytes, 5 gigabytes Log data kept for a maximum of 7 days.)
- App Engine Mail API (10 calls, 10 messages, ...)
- Objectify 5.1.x (ORM)
- JWT 0.7.x
- Freemarker
- Angular 4
- Angular-CLI 1.4.x
- NodeJS 8.8.x
- NPM 5.5.x
- Python 2.7 (Just for host on Google App Engine Standard)
$ cd /food-menu-list/backend
$ mvn clean install && mvn appengine:run
Go to http://localhost:8080
modify application name in src/main/webapp/WEB-INF/appengine-web.xml if needed
$ cd /food-menu-list/backend
$ mvn clean install && mvn appengine:deploy
- Run locally:
$ npm run dev
or
$ npm run prod
Go to http://localhost:4200
- Build:
$ cd /food-menu-list/frontend/user
$ npm run build-dev
or
$ npm run build-prod
- Deploy:
$ cd /food-menu-list/frontend/user_deploy
$ gcloud app deploy
- Run locally:
$ cd /food-menu-list/frontend/admin
$ npm run dev
or
$ npm run prod
Go to http://localhost:4200
- Build:
$ npm run build-dev
or
$ npm run build-prod
- Deploy:
$ cd /food-menu-list/frontend/admin_deploy
$ gcloud app deploy
- Note: If you don't see the change, try refresh browser with
Shift + F5
orCtrl + F5
orCtrl + R
-
Helloworld
- /
-
Home
- /user/hello
- /admin/hello
-
Card (CRUD)
- /api/user/cards
-
Contact (CRUD)
- /api/admin/contacts
-
Task (CRUD)
- /api/admin/tasks
-
User (CRUD)
- /api/admin/users
-
Item (CRUD)
- /api/user/items
- /api/admin/items
- /api/admin/items/upload/{id}
- /api/user/items/upload/{id}
curl -X POST \
https://api-dot-foodmenulist.appspot.com/api/user/items/upload/0 \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F 'file=@/home/xinhnguyen/Downloads/YOUR_PHOTO.jpg' \
-F 'name=Name 1' \
-F 'description=Description 1'
- Auth
- /sign-up
curl -X POST \
https://api-dot-foodmenulist.appspot.com/users/sign-up \
-H 'content-type: application/json' \
-d '{
"username": "user",
"password": "password"
}'
- /sign-up-admin
curl -X POST \
https://api-dot-foodmenulist.appspot.com/users/sign-up-admin \
-H 'content-type: application/json' \
-d '{
"username": "admin",
"password": "password"
}'
- /confirm-mail-sign-up
curl -X GET \
'https://api-dot-foodmenulist.appspot.com/users/confirm-mail-sign-up?token=YOUR_TOKEN'
- /login
curl -X POST \
http://api-dot-foodmenulist.appspot.com/login \
-H 'content-type: application/json' \
-d '{
"username": "admin",
"password": "password"
}'
- User Portal: http://foodmenulist.appspot.com
- Admin Portal: http://admin-dot-foodmenulist.appspot.com
- Service Portal: http://api-dot-foodmenulist.appspot.com