Skip to content

Commit 1717f8a

Browse files
authored
Merge pull request #2 from SwathiRavi14/master
Latest sample updated
2 parents b4820e9 + 613f9b0 commit 1717f8a

22 files changed

+237
-380
lines changed

.editorconfig

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ indent_size = 2
88
insert_final_newline = true
99
trim_trailing_whitespace = true
1010

11+
[*.ts]
12+
quote_type = single
13+
ij_typescript_use_double_quotes = false
14+
1115
[*.md]
1216
max_line_length = off
1317
trim_trailing_whitespace = false

.gitignore

+11-15
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,42 @@
1-
# See http://help.github.com/ignore-files/ for more about ignoring files.
1+
# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.
22

3-
# compiled output
3+
# Compiled output
44
/dist
55
/tmp
66
/out-tsc
7-
# Only exists if Bazel was run
87
/bazel-out
98

10-
# dependencies
9+
# Node
1110
/node_modules
12-
13-
# profiling files
14-
chrome-profiler-events*.json
15-
speed-measure-plugin*.json
11+
npm-debug.log
12+
yarn-error.log
1613

1714
# IDEs and editors
18-
/.idea
15+
.idea/
1916
.project
2017
.classpath
2118
.c9/
2219
*.launch
2320
.settings/
2421
*.sublime-workspace
2522

26-
# IDE - VSCode
23+
# Visual Studio Code
2724
.vscode/*
2825
!.vscode/settings.json
2926
!.vscode/tasks.json
3027
!.vscode/launch.json
3128
!.vscode/extensions.json
3229
.history/*
3330

34-
# misc
35-
/.sass-cache
31+
# Miscellaneous
32+
/.angular/cache
33+
.sass-cache/
3634
/connect.lock
3735
/coverage
3836
/libpeerconnection.log
39-
npm-debug.log
40-
yarn-error.log
4137
testem.log
4238
/typings
4339

44-
# System Files
40+
# System files
4541
.DS_Store
4642
Thumbs.db

README.md

+33-16
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,44 @@
1-
# Ang
1+
# Angular Firebase Scheduler
22

3-
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.3.3.
3+
This project is an Angular application that integrates a Syncfusion Scheduler component with Firebase Firestore for data storage and real-time updates.
44

5-
## Development server
5+
## Prerequisites
66

7-
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
7+
Before you begin, ensure you have the following installed:
88

9-
## Code scaffolding
9+
- Node.js (v14.x or later)
10+
- npm (v6.x or later)
11+
- Angular CLI (v15.x or later)
1012

11-
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
13+
## Setup
1214

13-
## Build
15+
1. Clone the repository: `git clone https://github.com/SyncfusionExamples/ej2-angular-scheduler-with-firebase.git`
16+
2. Install dependencies: `npm install`
17+
3. Firebase Configuration:
1418

15-
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
19+
- Create a new Firebase project at https://console.firebase.google.com/
20+
- Enable Firestore in your Firebase project
21+
- In the Firebase console, go to Project Settings and copy your web app's Firebase configuration
22+
- Open `src/main.ts` and replace the `firebaseConfig` object with your configuration:
1623

17-
## Running unit tests
24+
```typescript
25+
const firebaseConfig = {
26+
apiKey: "YOUR_API_KEY",
27+
authDomain: "YOUR_AUTH_DOMAIN",
28+
projectId: "YOUR_PROJECT_ID",
29+
storageBucket: "YOUR_STORAGE_BUCKET",
30+
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
31+
appId: "YOUR_APP_ID",
32+
measurementId: "YOUR_MEASUREMENT_ID"
33+
};
34+
```
1835

19-
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
36+
4. Firestore Setup:
37+
- In the Firebase console, go to Firestore Database
38+
- Create two collections: `Data` and `ResourceData`
39+
- The `Data` collection will store scheduler events
40+
- The `ResourceData` collection will store resource information for the scheduler
2041

21-
## Running end-to-end tests
42+
## Running the Application
2243

23-
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
24-
25-
## Further help
26-
27-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
44+
1. Start the development server: `ng serve`

angular.json

+45-71
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,28 @@
33
"version": 1,
44
"newProjectRoot": "projects",
55
"projects": {
6-
"Ang": {
6+
"angular-app": {
77
"projectType": "application",
88
"schematics": {},
99
"root": "",
1010
"sourceRoot": "src",
1111
"prefix": "app",
1212
"architect": {
1313
"build": {
14-
"builder": "@angular-devkit/build-angular:browser",
14+
"builder": "@angular-devkit/build-angular:application",
1515
"options": {
16-
"outputPath": "dist/Ang",
16+
"outputPath": "dist/angular-app",
1717
"index": "src/index.html",
18-
"main": "src/main.ts",
19-
"polyfills": "src/polyfills.ts",
18+
"browser": "src/main.ts",
19+
"polyfills": [
20+
"zone.js"
21+
],
2022
"tsConfig": "tsconfig.app.json",
21-
"aot": false,
2223
"assets": [
23-
"src/favicon.ico",
24-
"src/assets"
24+
{
25+
"glob": "**/*",
26+
"input": "public"
27+
}
2528
],
2629
"styles": [
2730
"src/styles.css"
@@ -30,96 +33,67 @@
3033
},
3134
"configurations": {
3235
"production": {
33-
"fileReplacements": [
34-
{
35-
"replace": "src/environments/environment.ts",
36-
"with": "src/environments/environment.prod.ts"
37-
}
38-
],
39-
"optimization": true,
40-
"outputHashing": "all",
41-
"sourceMap": false,
42-
"extractCss": true,
43-
"namedChunks": false,
44-
"aot": true,
45-
"extractLicenses": true,
46-
"vendorChunk": false,
47-
"buildOptimizer": true,
4836
"budgets": [
4937
{
5038
"type": "initial",
51-
"maximumWarning": "2mb",
52-
"maximumError": "5mb"
39+
"maximumWarning": "500kB",
40+
"maximumError": "1MB"
5341
},
5442
{
5543
"type": "anyComponentStyle",
56-
"maximumWarning": "6kb",
57-
"maximumError": "10kb"
44+
"maximumWarning": "4kB",
45+
"maximumError": "8kB"
5846
}
59-
]
47+
],
48+
"outputHashing": "all"
49+
},
50+
"development": {
51+
"optimization": false,
52+
"extractLicenses": false,
53+
"sourceMap": true
6054
}
61-
}
55+
},
56+
"defaultConfiguration": "production"
6257
},
6358
"serve": {
6459
"builder": "@angular-devkit/build-angular:dev-server",
65-
"options": {
66-
"browserTarget": "Ang:build"
67-
},
6860
"configurations": {
6961
"production": {
70-
"browserTarget": "Ang:build:production"
62+
"buildTarget": "angular-app:build:production"
63+
},
64+
"development": {
65+
"buildTarget": "angular-app:build:development"
7166
}
72-
}
67+
},
68+
"defaultConfiguration": "development"
7369
},
7470
"extract-i18n": {
75-
"builder": "@angular-devkit/build-angular:extract-i18n",
76-
"options": {
77-
"browserTarget": "Ang:build"
78-
}
71+
"builder": "@angular-devkit/build-angular:extract-i18n"
7972
},
8073
"test": {
8174
"builder": "@angular-devkit/build-angular:karma",
8275
"options": {
83-
"main": "src/test.ts",
84-
"polyfills": "src/polyfills.ts",
76+
"polyfills": [
77+
"zone.js",
78+
"zone.js/testing"
79+
],
8580
"tsConfig": "tsconfig.spec.json",
86-
"karmaConfig": "karma.conf.js",
8781
"assets": [
88-
"src/favicon.ico",
89-
"src/assets"
82+
{
83+
"glob": "**/*",
84+
"input": "public"
85+
}
9086
],
9187
"styles": [
9288
"src/styles.css"
9389
],
9490
"scripts": []
9591
}
96-
},
97-
"lint": {
98-
"builder": "@angular-devkit/build-angular:tslint",
99-
"options": {
100-
"tsConfig": [
101-
"tsconfig.app.json",
102-
"tsconfig.spec.json",
103-
"e2e/tsconfig.json"
104-
],
105-
"exclude": [
106-
"**/node_modules/**"
107-
]
108-
}
109-
},
110-
"e2e": {
111-
"builder": "@angular-devkit/build-angular:protractor",
112-
"options": {
113-
"protractorConfig": "e2e/protractor.conf.js",
114-
"devServerTarget": "Ang:serve"
115-
},
116-
"configurations": {
117-
"production": {
118-
"devServerTarget": "Ang:serve:production"
119-
}
120-
}
12192
}
12293
}
123-
}},
124-
"defaultProject": "Ang"
125-
}
94+
}
95+
},
96+
"cli": {
97+
"analytics": false
98+
}
99+
}

package.json

+26-37
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,41 @@
11
{
2-
"name": "ang",
2+
"name": "angular-app",
33
"version": "0.0.0",
44
"scripts": {
55
"ng": "ng",
66
"start": "ng serve",
77
"build": "ng build",
8-
"test": "ng test",
9-
"lint": "ng lint",
10-
"e2e": "ng e2e"
8+
"watch": "ng build --watch --configuration development",
9+
"test": "ng test"
1110
},
1211
"private": true,
1312
"dependencies": {
14-
"@angular/animations": "~8.2.4",
15-
"@angular/common": "~8.2.4",
16-
"@angular/compiler": "~8.2.4",
17-
"@angular/core": "~8.2.4",
18-
"@angular/fire": "^5.2.1",
19-
"@angular/forms": "~8.2.4",
20-
"@angular/platform-browser": "~8.2.4",
21-
"@angular/platform-browser-dynamic": "~8.2.4",
22-
"@angular/router": "~8.2.4",
13+
"@angular/animations": "^19.0.0",
14+
"@angular/common": "^19.0.0",
15+
"@angular/compiler": "^19.0.0",
16+
"@angular/core": "^19.0.0",
17+
"@angular/fire": "^19.0.0",
18+
"@angular/forms": "^19.0.0",
19+
"@angular/platform-browser": "^19.0.0",
20+
"@angular/platform-browser-dynamic": "^19.0.0",
2321
"@syncfusion/ej2-angular-schedule": "*",
24-
"@syncfusion/ej2-angular-calendars": "*",
2522
"@syncfusion/ej2-angular-grids": "*",
26-
"firebase": "^7.0.0",
27-
"rxjs": "~6.4.0",
28-
"tslib": "^1.10.0",
29-
"zone.js": "~0.9.1"
23+
"@angular/router": "^19.0.0",
24+
"rxjs": "~7.8.0",
25+
"tslib": "^2.3.0",
26+
"zone.js": "~0.15.0"
3027
},
3128
"devDependencies": {
32-
"@angular-devkit/build-angular": "~0.803.3",
33-
"@angular/cli": "~8.3.3",
34-
"@angular/compiler-cli": "~8.2.4",
35-
"@angular/language-service": "~8.2.4",
36-
"@types/node": "~8.9.4",
37-
"@types/jasmine": "~3.3.8",
38-
"@types/jasminewd2": "~2.0.3",
39-
"codelyzer": "^5.0.0",
40-
"jasmine-core": "~3.4.0",
41-
"jasmine-spec-reporter": "~4.2.1",
42-
"karma": "~4.1.0",
43-
"karma-chrome-launcher": "~2.2.0",
44-
"karma-coverage-istanbul-reporter": "~2.0.1",
45-
"karma-jasmine": "~2.0.1",
46-
"karma-jasmine-html-reporter": "^1.4.0",
47-
"protractor": "~5.4.0",
48-
"ts-node": "~7.0.0",
49-
"tslint": "~5.15.0",
50-
"typescript": "~3.5.3"
29+
"@angular-devkit/build-angular": "^19.0.6",
30+
"@angular/cli": "^19.0.6",
31+
"@angular/compiler-cli": "^19.0.0",
32+
"@types/jasmine": "~5.1.0",
33+
"jasmine-core": "~5.4.0",
34+
"karma": "~6.4.0",
35+
"karma-chrome-launcher": "~3.2.0",
36+
"karma-coverage": "~2.2.0",
37+
"karma-jasmine": "~5.1.0",
38+
"karma-jasmine-html-reporter": "~2.1.0",
39+
"typescript": "~5.6.2"
5140
}
5241
}

public/favicon.ico

14.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)