A discussion forum using Angular as frontend and Firebase as backend:
This project was generated with Angular CLI version 9.1.9.
- Frontend: Angular
- Component Library: ng-zorro-antd (Ant Design of Angular)
- Backend: Firebase, integrate using AngularFire
- Frontend Session: uuid
- Internalization: @ngx-translate
- State Management: NGXS
- CSS library: tachyons
Create a file named firebase.config.ts
under src
folder.
Add your own firebase config in this file, in below format
export const firebaseConfig = {
apiKey: '<your-key>',
authDomain: '<your-project-authdomain>',
databaseURL: '<your-database-URL>',
projectId: '<your-project-id>',
storageBucket: '<your-storage-bucket>',
messagingSenderId: '<your-messaging-sender-id>'
};
- run locally:
npm run start
- webpack-bundle-analyzer:
npm run build:stats
andnpm run analyze
- deploy to github:
npm run deploy:github
- run production build locally:
npm run build
andhttp-server dist/treehole-angular-firebase/browser
- deploy to firebase hosting:
npm run deploy:firebase
- ssr build (not working right now):
npm run build:ssr
andnpm run serve:ssr
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.
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
.
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.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
- collections_bookmark posts
- class post1
- collections_bookmark likes
- collections_bookmark dislikes
- collections_bookmark comments
- class post1
- collections_bookmark posts
- class post1
- id: "Ebd1BwdaNqniLCsy0xOb"
- uuid: "e51d2784-b163-41af-9e66-0bbec811fc63"
- title: "post title"
- message: "This is a first line for a new Forum. \nThis is a second line for a new Forum."
- language: "en"
- createdAt: "2021-02-04T06:17:38.936Z"
- likesCount: 3
- dislikesCount: 4
- commentsCount: 3
- collections_bookmark likes
- class like1
- id: "L0svxEZDEiQEl2Djof1R"
- uuid: "0fbfd447-49f5-4e2c-bbc7-bc8afb8a62a2"
- createdAt: "2021-02-04T06:17:38.936Z"
- class like2
- ...
- class like1
- collections_bookmark dislikes
- class dislike1
- id: "niZDMC5yu9WBXW45p0Ny"
- uuid: "0fbfd447-49f5-4e2c-bbc7-bc8afb8a62a2"
- createdAt: "2021-02-04T06:17:38.936Z"
- class dislike2
- ...
- class dislike1
- collections_bookmark comments
- class comment1
- id: "AKAT7WHC8LApsS0y75h1"
- uuid: "ba449189-d76a-4799-b1ce-490b0e5d5909"
- comment: ":) :) :) :) :) :):) :) :)"
- parentDocId: "Ebd1BwdaNqniLCsy0xOb"
- createdAt: "2021-02-10T23:57:41.454Z"
- likesCount: 1
- dislikesCount: 1
- collections_bookmark likes
- ...
- collections_bookmark dislikes
- ...
- collections_bookmark likes
- class comment2
- ...
- class comment1
- class post2
- ...
- class post1