/leader_talks

The website is designed to show up speakers of the community.

Primary LanguageTypeScript

1. Overview

Leader Talks

The website is designed to show the information about the speakers of the community The community holds a lot of virtual events with venture capitalists, tech industry specialists, entrepreneurs, etc, and the website helps to manage information about the speakers and events.

ezgif com-gif-maker

Features:

  • List of speakers - implemented as an infinite scroll.
  • Sign in/ sing up - supporting google, twitter, email, phone.
  • Admin panel - managing speakers with admin credentials.
  • Form - creating speaker card with drag and drop file uploader and file validation (size, type).

Requirements

Architecture

  • Google Cloud Patform - cloud infrastructure for development.
  • Firebase - works on top of GCP. Used for hosting, data storing, analytics, monitoring, and testing.
  • Nebular Angular UI Library - Library for web application.
  • Taiga UI - Angular UI Kit

2 Getting Started

Clone the GitHub repository from the command line:

git clone https://github.com/honoyr/leader_talks

Alternatively, if you do not have git installed, you can download the repository as a ZIP file.

3. Create and set up a Firebase project

Create a Firebase project

  1. Sign in to Firebase.
  2. In the Firebase console, click Add Project, and then name your Firebase project LeaderTalks. Remember the project ID for your Firebase project.
  3. Click Create Project.

Important: Your Firebase project will be named as LeaderTalks, but Firebase will automatically assign it a unique Project ID in the form LeaderTalks-1234. This unique identifier is how your project is actually identified (including in the CLI), whereas ChatBot is simply a display name.

Add a Firebase web app to the project

  1. Click the web icon 58d6543a156e56f9.png to create a new Firebase web app.
  2. Register the app with the nickname LeaderTalks, then check the box next to Also set up Firebase Hosting for this app. Click Register app.
  3. Click through the remaining steps. You don't need to follow the instructions now; these will be covered in later steps of this doc.

ea9ab0db531a104c

4. Install the Firebase command-line interface

The Firebase command-line interface (CLI) allows you to use Firebase Hosting to serve your web app locally, as well as to deploy your web app to your Firebase project.

Note: To install the CLI, you need to install npm which typically comes with Node.js.

  1. Install the CLI by running the following npm command:
npm -g install firebase-tools

if it doesn't work, you may need to change npm permissions.

  1. Verify that the CLI has been installed correctly by running the following command:
firebase --version

Make sure that the version of the Firebase CLI is v9 or later.

  1. Authorize the Firebase CLI by running the following command:
firebase login

We've set up the web app template to pull your app's configuration for Firebase Hosting from your app's local directory (the repository that you cloned earlier). But to pull the configuration, we need to associate your app with your Firebase project.

  1. Make sure that your command line is accessing your app's local root project directory.
  2. Associate your app with your Firebase project by running the following command:
firebase use --add
  1. When prompted, select your Project ID, then give your Firebase project an alias. .firebaserc file

An alias is useful if you have multiple environments (production, staging, etc).

  1. Follow the remaining instructions on your command line.
  2. .firebaserc file will be set up with your Project ID
{  
  "projects": {  
    "default": "<Project ID>"  
  }  
}

6. Deployment Frontend

This project was generated with Angular CLI version 11.2.2.

Local environment

  • Run Docker compase locally
docker-compose up

Development server

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.

Production environment

Build

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.

7. Deployment Backend

Local environment

  • Run your functions locally npm run-script serve.

Production environment

  • Run deployment script to host functions in production npm run-script deploy