Giter Site home page Giter Site logo

neojato / delorean-v2 Goto Github PK

View Code? Open in Web Editor NEW
45.0 5.0 54.0 2.05 MB

A Professional Template for large GDG events. This project has been designed to continue to be your DevFest/IWD website solution without having to create a new site or Firebase project every year.

Home Page: https://delorean-demo.firebaseapp.com

License: MIT License

TypeScript 42.09% JavaScript 1.02% HTML 53.47% SCSS 3.43%
firebase firebase-database firebase-storage firebase-hosting angular angular4 gdg devfest gdg-devfest firebase-authentication

delorean-v2's People

Contributors

angular-cli avatar beeman avatar dependabot[bot] avatar mrcsabatoth avatar neojato avatar w9jds avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

delorean-v2's Issues

Ability to give session feedback without a login

Many attendees don't login to the website, don't assemble their own schedule. For a schedule I see the need for login. Session feedback are extremely important.

Describe the solution you'd like
I wonder if we can solicit anonymous feedback by relying on Firebase anonymous authentication

Describe alternatives you've considered
None other yet

Additional context
In case we don't employ anonymous authentication yet we'd need to test how it affects other parts of the websites. We may not want the schedule builder to be active.

Dependencies broken

Describe the bug
I wanted to try Delorean

I got this error when I do npm install

npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: @angular/[email protected]
npm ERR! node_modules/@angular/common
npm ERR! @angular/common@"^6.1.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^4.0.0" from [email protected]
npm ERR! node_modules/angularfire2
npm ERR! angularfire2@"5.0.0-rc.3" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

More errors when I update/change these deps

Expected behavior
Should work

New projects and missing urls cause /null links

Expected Behavior

When creating a new project that doesn't have webpages for tickets or sponsors, there shouldn't be broken links.

Current Behavior

Currently, the ticket link is required but still read by two buttons on the home page (menu and hero). The sponsor button also continues to display even when the sponsor url is missing.

Possible Solution

  1. Hide the buttons if their url is missing regardless of if the url is required or not
  2. Don't show some pages if urls are missing

Vulnerabilities in Firebase Database Rules

There are security issues with the current Firebase Database Rules.

Expected Behavior

As I understand from the security rules, data under /$year/schedules/$user_id should be read only by a Google authenticated user with uid: $user_id and data under /$year/sessions/$session_id/surveys" should be read only by admin.

Current Behavior

An attacker can arbitrarily read data from /$year/schedules/$user_id and /$year/sessions/$session_id/surveys".

A more elaborated explanation of the vulnerability can be found here.

Possible Solution

A possible solution is to remove the rule ".read": "true", from / , but in order not to break any functionality, each path should be specified with its appropriate read rule.

In order to generate another report, after fixing the issue, you can login into https://noless.io.

Build fails

ng build errors out

Expected Behavior

after npm install ng build would succeed

Current Behavior

npm install

...
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN @agm/[email protected] requires a peer of @angular/common@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN @agm/[email protected] requires a peer of @angular/core@^5.0.0 || ^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1371 packages from 1226 contributors and audited 8203 packages in 22.855s
found 21 vulnerabilities (11 low, 4 moderate, 6 high)
  run `npm audit fix` to fix them, or `npm audit` for details

Then ng build fails with:

Your global Angular CLI version (6.1.1) is greater than your local
version (1.7.4). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
/home/csaba/repos/DeLorean-v2/node_modules/@angular/cli/ember-cli/lib/ui/index.js:56     
    this.outputStream.write(data);
                      ^

TypeError: Cannot read property 'write' of undefined
    at UI.write (/home/csaba/repos/DeLorean-v2/node_modules/@angular/cli/ember-cli/lib/ui/index.js:56:23)
    at UI.writeLine (/home/csaba/repos/DeLorean-v2/node_modules/@angular/cli/ember-cli/lib/ui/index.js:69:8)
    at callback (/home/csaba/repos/DeLorean-v2/node_modules/@angular/cli/tasks/build.js:44:29)
    at onCompiled (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/Compiler.js:237:12)
    at applyPluginsAsync.err (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/Compiler.js:510:14)
    at next (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:202:11)
    at Compiler.<anonymous> (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/CachePlugin.js:78:5)
    at Compiler.applyPluginsAsyncSeries (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:206:13)
    at compilation.seal.err (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/Compiler.js:507:11)
    at Compilation.applyPluginsAsyncSeries (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:195:46)
    at applyPluginsAsync.err (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/Compilation.js:677:19)
    at next (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.compilation.plugin (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/ProgressPlugin.js:123:6)
    at Compilation.applyPluginsAsyncSeries (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:206:13)
    at applyPluginsAsync.err (/home/csaba/repos/DeLorean-v2/node_modules/webpack/lib/Compilation.js:668:11)
    at next (/home/csaba/repos/DeLorean-v2/node_modules/tapable/lib/Tapable.js:202:11)

Steps to Reproduce

  1. git clone repo
  2. npm install
  3. ng build

Context (Environment)

Devuan ascii Linux distribution.

Possible Implementation

Unfortunately I'm newbie with angular, ember, and several parts of this tech stack.

Upgrade to latest Angular

Is your feature request related to a problem? Please describe.
Currently the app is Angular 6.1 based. Before tackling any feature requests (although merging my outstanding PR) we should upgrade to latest Angular.

Describe the solution you considered
I was looking at https://update.angular.io/?l=2&v=6.1-15.0
I'd follow the link bellow and perform the 9 major upgrades step-by-step

Session's section title is not displayed on the session's details page

Session's section title is not displayed on the session's details page

Expected Behavior

When I navigate to the session's details page I want the session's section title to be listed besides the room, tags and other properties.

Current Behavior

The section title doesn't seem to be listed but the other properties are.

Steps to Reproduce

  1. Go to schedule page
  2. Click on one of the sessions

Showing white screen

I follow the Getting Started session, although there were some files(not mentioned in the Getting Started session) asked to be overwritten or not, I chose no for everyone. Most of the values in firebase.config.ts were replaced with my own, expect messagingSenderId (I can't find where to get it)

Expected Behavior

I should see a beautiful website by opening http://localhost:4200/

Current Behavior

the website shows "loading" then redirect to http://localhost:4200/home and showing blank, just white....

Possible Solution

Steps to Reproduce

  1. firebase init
  2. chose Database, Functions and Hosting
  3. y for What file should be used for Database Rules? (database.rules.json)
  4. select JavaScript for What language would you like to use to write Cloud Functions? (Use arrow keys)
  5. y for Do you want to use ESLint to catch probable bugs and enforce style?
  6. n for File functions/package.json already exists. Overwrite?
  7. n for File functions/.eslintrc.json already exists. Overwrite?
  8. n for File functions/index.js already exists. Overwrite?
  9. n for File functions/.gitignore already exists. Overwrite?
  10. y for Do you want to install dependencies with npm now?
  11. dist for What do you want to use as your public directory?
  12. y for Configure as a single-page app (rewrite all urls to /index.html)?
  13. n for File dist/index.html already exists. Overwrite?
    15 click localhost link when Compiled successfully

Context (Environment)

mac os x64
node.js version v10.15.3

Detailed Description

Possible Implementation

The Register/Buy Ticket button of the ticket cards doesn't work

The Register button of the ticket cards doesn't point to anywhere.

Expected Behavior

Register button(s) should navigate to the same ticket URL as the menu or the "Reserve Your Seat", and theoretically that's the case looking at the DOM interpolation.

Current Behavior

No href is interpolated despite the source code's intent.

Possible Solution

Converting the <button> element into an <a>.

Steps to Reproduce

  1. On the home page scroll down to the ticket cards
  2. Click on (any of) the Register button(s)

Detailed Description

Could this be a result of moving from Angular v4 to v6?

Possible Implementation

Replacing
<button type="button" class="btn btn-primary waves-light" [href]="config?.ticketURL">Buy Ticket</button>
with
<a target="_blank" rel="noopener" [href]="config?.ticketURL" class="btn btn-primary waves-light" rel="nofollow">Buy Ticket</a>

Use Resize Images Firebase extension to automatically shrink giant image uploads

During the last run of IWDC there were at least 2-3 occasions when the speaker's uploaded profile photo wasn't even just a giant 3-4 MB image, but rather a 20+ MB (!!!) behemoth.

Expected Behavior

Administrators are too busy with other tasks to pay attention to this, so it'd be best if the website itself would resize the images to the optimal size automatically as part of the upload procedure.

Current Behavior

The uploaded profile photos are stored as they are provided, no transformation is done on them. Time-to-time I skim through the images and resize + web optimize them (with GIMP, Gwenview and other common Linux editors).

Possible Solution

Use the Firefox Extension of "Resize Images" to implement automatic upload resizing. Technically it's a cloud function. DeLorean v2 already has cloud functions.
See also:

Steps to Reproduce

  1. Get yourself an admin privilege for the site.
  2. Navigate to the Speakers page. You have now buttons to add or edit speaker.
  3. Pick one to Add or edit a speaker.
  4. Upload a ginormous photo (20MB+ preferred).
  5. Try to view the speakers page on a 4G connection...

Possible Implementation

Social links are for GDG, not DevFest

The social icons at the bottom of the page link to GDG pages, not DevFest pages. Since this is the DevFest site, I'd prefer they link to DevFest resources.

I see a couple options:

  1. Maybe make it configurable which ones go there
  2. Move the GDG ones to an "Learn more about GDG {chapter} [F] [T] [M] [G] ..." and make the existing ones DevFest

Sections' and Sessions' sort order cannot be influenced

The Sections and Sessions right now are listed in the order they were entered. There should be a way to change that order.

Expected Behavior

To have some kind of a way to change the order of sessions and sections.

Current Behavior

The Sections and Sessions right now are listed in the order they were entered.

Possible Solution

Either explicitly manually set a rank variable (just like for sponsor levels), or at some later point we can introduce some list widget which allows ordering by drag & drop on the UI?

Steps to Reproduce

  1. Add a new Section. It will be added to the end.
  2. Add a new Session within a Section. It will be added to the end of the Section.

Detailed Description

Normally we'd want to list the sessions grouped by location and sorted by time within that location. The time is currently a free text entry, so it's easier to rely on an explicit rank field, and that will allow more flexibility than an assumed ordering/grouping.

Possible Implementation

Add a rank field to both Section and Session.
Allow the entry and edition of that value, and later maybe even GUI drag & drop order list widget editing at some point in the future.

Contact DevFest via Twitter shouldn't have share text

The default tweet text when clicking the @DevFestCity link under Contact is

Join me at @DevFestCity! #undefined https://google.com

but that's more of share text than contact text.

Can the DevFest contact text be changed to just the handle or configurable?

Looks like we'll need to upgrade cloud functions from v8 npm to v10 and move to Blaze payment plan...

Hi Csaba,

We are writing to let you know about two upcoming changes to Cloud Functions for Firebase:

  • All Firebase developers who use the Cloud Functions Node.js 10 runtime will need to use the “Blaze” pay-as-you-go billing plan.
  • The Node.js 10 runtime on Cloud Function has now reached General Availability and the Node.js 8 runtime on Cloud Functions will be deprecated. To avoid potential disruptions or security risks, you should update your functions to Node.js 10.

What Happened?

Starting June 22, 2020, Cloud Functions for Firebase is rolling out a change in our Node.js 10 runtime that will allow you to see the output of the functions build process using Cloud Build and Container Registry. Although Cloud Build and Container Registry have a generous free quota, both products require you to be on the "Blaze" pay-as-you-go plan.

This change will give you better transparency and control over your Cloud Functions deployments. For more details on the benefits of Cloud Build and Container Registry, please see our online FAQ.

On Dec 31, 2019, Node.js 8 was marked end-of-life by the Node.js Foundation. The Node.js Foundation stopped issuing security releases for Node.js 8. To ensure that your functions are on a supported version of Node.js, you must update them to the Node.js 10 runtime.

These changes for Cloud Functions for Firebase will follow this timeline:

  • By June 22, 2020, all developers using the Node.js 10 runtime will need to update to the “Blaze” pay-as-you-go billing plan and enable the Cloud Build API in order to continue deploying functions.

  • By February 15, 2021, all developers using the Node.js 8 runtime should update to the Node.js 10 runtime and update to the “Blaze” pay-as-you-go billing plan. Developers will no longer be able to create new functions or update existing functions that use Node.js 8.

  • By March 15, 2021, Node.js 8 runtime will be shut down for Cloud Functions for Firebase. Functions using Node.js 8 will be disabled after this date.

What do I need to do?

  • By June 22, 2020, all developers using the Node.js 10 runtime will need to update to the “Blaze” pay-as-you-go billing plan.

  • By February 15, 2021, all developers using the Node.js 8 runtime should update to the Node.js 10 runtime and update to the “Blaze” pay-as-you-go billing plan, referred to in the point above.

After you update to the “Blaze” pay-as-you-go billing plan,

You must enable the Cloud Build API. Either upgrade your Firebase CLI to v8.1.0 or higher, or follow the manual instructions to enable the Cloud Build API below:

  1. Access the Cloud Build API link in the Cloud Console.
  2. Select your project from the drop-down menu.
  3. Click Continue to enable the Cloud Build API for the project. A box will appear in the lower-left corner to confirm the API is enabled.

Once you enable the Cloud Build API, your project may incur charges if its Cloud Build or Container Registry usage exceeds the free tier limits for these products, in addition to Cloud Functions usage charges. For more information, visit the Cloud Build and Container Registry pricing pages.

The "Blaze" pay-as-you-go plan includes free tier limits just like the "Spark" free plan. For more info, see the online FAQ. To avoid unexpected bills, it's always good practice to set budget alerts.

You can find a list of your projects that are using Cloud Functions for Firebase and may be affected by this change below:

  • vdf2018 (vdf2018-9a823)

If you have any questions or need any assistance, please read our online FAQ. As always, feel free to reach out to us for more assistance.
Thanks,
Raj on behalf of the Firebase team

Session time is not displayed on the session's details page

Session's time is not displayed on the session's details page

Expected Behavior

When I navigate to the session's details page I want the session's time to be listed besides the room, tags and other properties.

Current Behavior

The time doesn't seem to be listed but the other properties are.

Steps to Reproduce

  1. Go to schedule page
  2. Click on one of the sessions

Further tune the database rules to stop Firebase trippin' about "insecure" rules

Is your feature request related to a problem? Please describe.
Problem: the https://github.com/neojato/DeLorean-v2/blob/master/database.rules.json is pretty detailed, but current Firebase checks still generate regular warnings of "We've detected the following issue(s) with your security rules: any user can read your entire database".

Screenshot_2021-03-02_03-53-50

Describe the solution you'd like
Some small change may fix it. Quickly skimming I didn't spot an instant standout. I wonder if the check understands our "admin" roles, or maybe somewhere something is not secured down to uid level? The DB is most certainly not readable in it's entirety by anyone.

Describe alternatives you've considered
Maybe it's actually a Firebase checking bug and needs to be raised there as an issue?

Additional context

If someone goes overboard and turns of DB read with a global rule of false / false the whole site becomes unusable (not surprisingly).

Analytics optimization: different Google Analaytics tags for different routes

The index.html provides the same GA tag for each route. A SEO/analytics savvy member suggested to have different GA tags per route/page.

Expected Behavior

Different GA tags per page

Current Behavior

Same GA tag for each page

Possible Solution

Per page GA tag, like the title?

Detailed Description

First we need to discuss the validity of the request and how we can resolve it

The map isn't shown

Expected Behavior

After providing an map API key and set the address in the Venue Details.
The map should be shown on the home page.

Current Behavior

Showing venue but no map was shown.

Possible Solution

I check the API key, it's valid to use. I change the address to a different one, but still, no map was shown.
Can't find any clue in the developer console.

Steps to Reproduce

  1. Set the mapsKey in firebase.config.ts
  2. Set the address ( No. 50, Section 2, Heping East Road, Da’an District, Taipei City, Taiwan 106 ) in Venue Details
  3. Visit website https://wtm-taipei-lighting-talk-0.firebaseapp.com/home
  4. See no map.. :(

Context (Environment)

Node.js v10.15.3

Detailed Description

I think it's all listed above.

Possible Implementation

I have no idea... :(

SEO: a lot of meta data is the same for diverse pages

The Speaker, Schedule, Sponsor and other pages have very different content. A SEO savvy GDG member draw my attention that the indexing of our website yields too similar descriptions, see https://www.google.com/search?q=site:https://valleydevfest.com/&filter=0&biw=1280&bih=641

Expected Behavior

Ideally the various pages would have diverse meta data where it makes sense

Current Behavior

Same meta-data, like "A tech conference carefully crafted for you by your GDG community! All about Android, Web, and Cloud from the world experts!"

Possible Solution

Make it a per route variable (like the page title), where it's needed

Optimise usage of async pipe

Expected Behavior

Ideally we should subscribe to observables as few times as possible.

Current Behavior

Currently in a template a single observable is subscribed to various times.

Possible Solution

Reduce usage of async by using this pattern:

<div *ngIf="speaker$ | async as speakers ; else noSpeakers">
  Here are our {{ speakers | json }}, no need to subscribe in here :)
</div>

<ng-template #noSpeakers>
  I could not find any Speakers :(
</ng-template>

Steps to Reproduce

Context (Environment)

Detailed Description

Possible Implementation

I was about to create a PR when I read the need for an issue, that's why I created this issue :-)

Update angularfire2 to @angular/fire, getting rid of Angular 4 transitive dependencies

We are having trouble getting the LA DevFest site running. In the past I just ignored the transitive unfulfilled Angular 4 npm dependencies, we are already on Angular 6.1.x+. However the LA DevFest throws JavaScript error.

screenshot_2018-11-06_22-36-31

Basically this would be a successor of the almost recent npm package updates, and we'd get rid of the angularfire2/database-deprecated imports in favor of @angular/fire....

Expected Behavior

The project would use some more recent packages i some areas and the bootstrap of it would be even more robust.

Current Behavior

LA DevFest freshly forked website compiles, but JS error when site visited.

Possible Solution

Trying to run ahead and hoping that the upgrade would eventually solve the JS errors.

Steps to Reproduce

  1. Fork the repo
  2. Perform the described installation and deployment / hosting modifications
  3. JS error

Context (Environment)

I can provide more details but it was reproduced both on Matt Kaufmann's machine + my machine, as well as at some point it rendered the live site inoperable. Fortunately we could roll back to the last working snapshot with Firebase hosting's features.

Details

angularfire2's obsolete dependencies:

npm WARN [email protected] requires a peer of @angular/common@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/core@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/platform-browser@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of @angular/platform-browser-dynamic@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of rxjs@^5.0.1 but none is installed. You must install peer dependencies yourself.

Call For Papers/Call for sponsors is null

When creating an event there is a time for call for papers and there is a time for call for sponsors. By the time I set up the project for the website for the event those two dates have passed. I don't really need links explaining to people that the time has passed.

Expected Behavior

I would love a null field in the CFP or CFS to hide the buttons that take me to those actions.

Current Behavior

Currently we have buttons that show and then they link off to null

Possible Solution

In my local version I went through and added a few NgIf's to the links. But this should be part of the main project.

Steps to Reproduce

  1. Just leave an empty link on the call for papers or Become a Sponsor

Possible Implementation

In addition to adding the NgIf statements, it might also be awesome if we had a date field call it "endOfCallForPapersDate" in which the button would hide after that date and the same things but for sponsor requests.

Pull in tickets via Eventbrite API

Some events use Eventbrite for ticket sales. Instead of making a static list of tickets, pull in the ticket types, cost, and availability from the Eventbrite API if creds are given via the admin panel.

Some events use Eventbrite ticket types for things like sponsorship which you may not want to show in the ticket list on the website. To solve this, maybe include a checkbox to hide certain ticket types.

Problems serving and deploying

Hi, I'm using this template to prepare our new Devfest Webpage, but I'm having problems both serving and deploying. When I try to serve it, it just shows a white screen. I saw another closed issue with this problem, but my database.rules is identical to master's and still white screen. My error message on Google Chrome console:

core.js:1673 ERROR Error: permission_denied at /2020/siteConfig: Client doesn't have permission to access the desired data.
at Object.push../node_modules/@firebase/database/dist/cjs/src/core/util/util.js.exports.errorForServerCode (util.js:513)
at onComplete (SyncTree.js:538)
at Object.onComplete (Repo.js:115)
at PersistentConnection.js:180
at PersistentConnection.push../node_modules/@firebase/database/dist/cjs/src/core/PersistentConnection.js.PersistentConnection.onDataMessage_ (PersistentConnection.js:435)
at Connection.push../node_modules/@firebase/database/dist/cjs/src/realtime/Connection.js.Connection.onDataMessage_ (Connection.js:262)
at Connection.push../node_modules/@firebase/database/dist/cjs/src/realtime/Connection.js.Connection.onPrimaryMessageReceived_ (Connection.js:256)
at WebSocketConnection.onMessage (Connection.js:157)
at WebSocketConnection.push../node_modules/@firebase/database/dist/cjs/src/realtime/WebSocketConnection.js.WebSocketConnection.appendFrame_ (WebSocketConnection.js:197)
at WebSocketConnection.push../node_modules/@firebase/database/dist/cjs/src/realtime/WebSocketConnection.js.WebSocketConnection.handleIncomingFrame (WebSocketConnection.js:247)

To Reproduce on serving
All "Getting Started" 1-9 steps"
typing "ng serve" on project root

On the other hand, when trying to deploy, it shows this error on cmd:

Cannot determine project or target for Architect command.
Error: Cannot determine project or target for Architect command.
at MergeMapSubscriber._loadWorkspaceAndArchitect.pipe.operators_1.concatMap [as project] (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\models\architect-command.js:68:27)
at MergeMapSubscriber._tryNext (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:65:27)
at MergeMapSubscriber._next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:55:18)
at MergeMapSubscriber.Subscriber.next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
at TapSubscriber._next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\operators\tap.js:62:26)
at TapSubscriber.Subscriber.next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
at MergeMapSubscriber.notifyNext (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\operators\mergeMap.js:84:26)
at InnerSubscriber._next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\InnerSubscriber.js:25:21)
at InnerSubscriber.Subscriber.next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\Subscriber.js:64:18)
at MapSubscriber._next (E:\Todof\Documentos\GDG\Devfest 20\devfest-web\node_modules@angular\cli\node_modules\rxjs\internal\operators\map.js:52:26)

To Reproduce on deploying
All "Getting Started" 1-9 steps"
typing "ng run deploy" on project root

Aditional information
As, for any reason, the default version of agm/core doesn't seems to be compatible with the project, I installed 1.0.0.beta7 version

Edit: I achieved to fix it using the info on this other issue, I dunnot know why I couldn't deploy my rules but finally they are online. One interesting thing is that even if you are working on locale, you need rules to be deployed in order to see the webpage

Supporting multiple languages / localization

We'd want to provide localized version of our DevFest site. This will be crucial for us because this year we plan to support the large number of Spanish speaking minorities explicitly, and the front facing state for that is the conference website. (At some point Hoverboard v1 BTW provided support for that, using Polymer's capability, but was slashed due to people complaining about difficult setup).

Expected Behavior

The default resources would be separated from the source, and the additional locales would reside next to that. The build step would consume these versions and produce a site where it can be toggled somewhere.

Current Behavior

Right now it seems that the resources are not separated. As far as I see there's no localization foundation. I'm not skilled in Angular particularly to tell how easy it is to implement this whole ticket.

Possible Implementation

  1. Separate resources into a file.
  2. Tune the build system to consume that.
  3. Allow additional resources and provide toggle system.

Context (Environment)

We at least Spanish version besides English. At some point with Hoverboard v1 we had Hmong and Farsi localizations as well, which I produced by auto translation script using Google Translate API.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.