-
Introduction to the course
-
Install development tools
-
Create Angular App
- Create projects folder
- Install @angular/cli
- Create App as frontend
-
Add Header
- Generate Component
- Add HTML
- Add CSS
-
List Foods
- Create Food model
- create data.ts
- add sample foods
- Add images to assets
- Create Food service
- Create Home Component
- Add ts
- Add HTML
- Add CSS
-
Search
- Add method to food service
- Add search route
- Show search result in home component
- Generate Search component
- Add to Home compoenent
- Add ts
- Add HTML
- Add CSS
-
Tags Bar
- Create Tag model
- Add sample tags to data.ts
- Food service
- Add get all tags method
- Add get all foods by tag method
- Add tags route
- Show tag result in home component
- Generate Tags Component
- Add to home component
- Add ts
- Add html
- Add css
-
Food Page
- Add method to food service
- Generate food page component
- Add Route
- Add ts
- Add html
- Add css
-
Cart Page
- Create Cart Item Model
- Create Cart Model
- Generate Cart Service
- Add to cart button in Food Page
- Generate cart page component
- Add Route
- Add ts
- Add html
- Add css
-
Not found!
- Generate Component
- Add ts
- Add html
- Add css
- Add to pages
- Home Page
- Food Page
- Cart Page
- Generate Component
-
Connect to Backend
- Create Backend folder
- npm init
- npm install typescript
- Create tsconfig.json
- Create .gitignore
- Copy data.ts to backend/src
- npm install express cors
- Create server.ts
- install @types
- Add APIs
- npm install ts-node --save-dev
- npm install nodemon --save-dev
- Add urls.ts to frontend under shared/constants folder
- Add HttpClient module
- Update food service
-
Login Page
- Generate Component
- Add to routes
- Add ts
- Add html
- Import Reactive Forms Module
- Add css
- Add Login Api
- Use Json
- Add jsonwebtoken
- Test using postman
- Generate User Service
- Generate User Model
- Add user subject
- Add Login Method
- Add user urls
- Generate IUserLogin Interface
- Add ngx-toastr
- Import Module
- Import BrowserAnimationsModule
- Add styles in angular.json
- Add to header
- Add Local Storage Methods
- Add Logout Method
- Add to header
- Generate Component
-
Make Components for login page
- Input container
- Input validation
- Text Input
- Default button
-
Connect Login API to MongoDb Atlas
- Moving APIs into Routers
- Create MongoDB Atlas
- Create .env file
- Install - backend> npm install mongoose dotenv bcryptjs express-async-handler
- mongoose
- dotenv
- bcryptjs
- express-async-handler
- Connect to MongoDB Atlas
- Use MongoDB instead of data.ts in apis
-
Register User
- Add Register api
- Add Register Service method
- Add Register link
- Add Register Component
-
Loading!
- Add Image
- Add Component
- Add service
- Add Interceptor
-
Checkout Page
- Create Order Model
- Create Checkout Page Component
- Add To Router
- Add User to User Service
- Add Cart to Cart Service
- Create Order Items List Component
- Adding Map To The Checkout Page
- Add Leaflet npm package
- Add @types/leaflet
- Add Css to angular.json
- Add AddressLatLng to Order Model
- Create Map component
- Add to checkout page
- Add TS
- Change app-map selector to map
- Add Html
- Add CSS
- Add Auth Guard
- Add Leaflet npm package
- Save Order
- Add Order Model
- Add Order Status Enum
- Add Auth Middleware
- Add Order Router
- Add create API
- Add Order Urls to urls.ts
- Add Order Service
- Add create Method
- Add Auth Interceptor
-
Payment Page
- Generate Component
- Add 'getOrderForCurrentUser' api
- Add Order Service method
- Connect Component to Service
- Make the map component readonly
-
Adding Paypal
- Generate Component
- Add to payment page
- Get Paypal client Id
- Add Paypal JS to index.html
- Set up Paypal button
- Add Pay api to order router
- Get Paypal sandbox account
- Generate Component
-
Order Track Page
- Generate Component
- Add to routes
- Add API
- Add to urls.ts
- Add method to order.service
- Add HTML
- Add CSS
- Generate Component
-
Deploy On Heroku
- OutputPath in angular.json => change from "outputPath": "dist/frontend", to "outputPath": "../backend/built/public",
- package.json
- frontend
- Remove the below from scripts a. "watch": "ng build --watch --configuration development", b. "test": "ng test"
- change the below in scripts a. "build": "ng build" to "build": "npm install --force && ng build --configuration production"
- Copy few of the dependencies from DevDependencies and paste it into Dependencies a. "@angular-devkit/build-angular": "^15.2.4", b. "@angular/cli": "~15.2.4", c. "@angular/compiler-cli": "^15.2.0", d. "@types/jasmine": "~4.3.0", e. "@types/leaflet": "^1.9.3" f. "typescript": "~4.9.4"
- backend
- Remove the below from Scripts a. "test": "echo "Error: no test specified" && exit 1"
- Add the below in Scripts in place of "test" a. "build": "npm install && tsc"
- Move the below devDependencies to Dependencies a. "@types/bcryptjs": "^2.4.2", b. "@types/cors": "^2.8.13", c. "@types/express": "^4.17.17", d. "@types/jsonwebtoken": "^9.0.1",
- root
- Create a package.json file under FOODAPP folder
- Add the name, version & scripts to the package.json
- frontend
- BASE_URL in urls.ts
- Public folder config in server.ts
- Run commands
- angular\foodapp> npm run prebuild
- angular\foodapp> npm run build
- Add built folder to .gitignore
- Commit and Push
-
Updating Packages (Optional)
- Install npm-check-upates as a global package
- Run ncu -u in the frontend folder
- Downgrade typescript to version ~4.8.2
- Run npm install --force
- Run npm start
- Run ncu -u in the backend folder
- Run npm install
- Run npm start
-
Notifications
You must be signed in to change notification settings - Fork 0
uttam3194/foodapp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published