caelumf / edu-change Goto Github PK
View Code? Open in Web Editor NEWProvide reputation incentive for universities to take and respond to feedback
Provide reputation incentive for universities to take and respond to feedback
A form to submit issues.
git clone https://github.com/CaelumF/edu-change/issues/new
cd edu-change
npm install
npm start
> [email protected] start /home/caelum/IdeaProjects/edu-change
> ng serve
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Date: 2019-01-28T11:31:22.177Z
Hash: 096b32da47e6c4980d1e
Time: 29413ms
chunk {main} main.js, main.js.map (main) 1.93 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 682 bytes [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 147 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 329 kB [initial] [rendered]
ERROR in node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(25,15): error TS2416: Property '_registry' in type 'MockMatchMedia' is not assignable to the same property in base type 'MatchMedia'.
Type 'Map<string, MockMediaQueryList>' is not assignable to type 'Map<string, MediaQueryList>'.
Type 'MockMediaQueryList' is not assignable to type 'MediaQueryList'.
Types of property 'removeListener' are incompatible.
Type '(_: EventListenerOrEventListenerObject) => void' is not assignable to type '(listener: MediaQueryListListener) => void'.
Types of parameters '_' and 'listener' are incompatible.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerOrEventListenerObject'.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerObject'.
Property 'handleEvent' is missing in type 'MediaQueryListListener'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(82,5): error TS2416: Property 'removeListener' in type 'MockMediaQueryList' is not assignable to the same property in base type 'MediaQueryList'.
Type '(_: EventListenerOrEventListenerObject) => void' is not assignable to type '(listener: MediaQueryListListener) => void'.
Types of parameters '_' and 'listener' are incompatible.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerOrEventListenerObject'.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerObject'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,38): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(83,99): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,41): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(84,102): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/mock/mock-match-media.d.ts(95,67): error TS2304: Cannot find name 'MediaQueryListEvent'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(30,5): error TS2416: Property 'removeListener' in type 'ServerMediaQueryList' is not assignable to the same property in base type 'MediaQueryList'.
Type '(_: EventListenerOrEventListenerObject) => void' is not assignable to type '(listener: MediaQueryListListener) => void'.
Types of parameters '_' and 'listener' are incompatible.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerOrEventListenerObject'.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerObject'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(31,38): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(31,99): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(32,41): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(32,102): error TS2304: Cannot find name 'MediaQueryListEventMap'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(46,15): error TS2416: Property '_registry' in type 'ServerMatchMedia' is not assignable to the same property in base type 'MatchMedia'.
Type 'Map<string, ServerMediaQueryList>' is not assignable to type 'Map<string, MediaQueryList>'.
Type 'ServerMediaQueryList' is not assignable to type 'MediaQueryList'.
Types of property 'removeListener' are incompatible.
Type '(_: EventListenerOrEventListenerObject) => void' is not assignable to type '(listener: MediaQueryListListener) => void'.
Types of parameters '_' and 'listener' are incompatible.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerOrEventListenerObject'.
Type 'MediaQueryListListener' is not assignable to type 'EventListenerObject'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(58,15): error TS2416: Property '_buildMQL' in type 'ServerMatchMedia' is not assignable to the same property in base type 'MatchMedia'.
Type '(query: string) => ServerMediaQueryList' is not assignable to type '(query: string) => MediaQueryList'.
Type 'ServerMediaQueryList' is not assignable to type 'MediaQueryList'.
node_modules/@angular/flex-layout/core/typings/match-media/server-match-media.d.ts(60,67): error TS2304: Cannot find name 'MediaQueryListEvent'.
ℹ 「wdm」: Failed to compile.
This also happens every time npm start is ran after initial installation.
Solve critera:
I propose we change our navbar to a sidenav using this
I'll start implementing this now. Any suggestions appreciated.
Students and academic staff members must be able to register (currently using Firestore Auth). The emails given in registration will be used to determine & verify their attendance / employment at a university.
This requires at least:
Make component with ng generate component
Make it hella nice
Have unrouted pages lead to it by default
Registered users should be able to edit their posts. This could be done through a generic post editing component, which would have fields for:
or it could be done with unique edit pages for each type of post.
Ideally there would be a public viewable edit history, or at least a marker to flag that a post has been edited. For authentication, Firebase could be used to compare the UID of the poster to the UID of the request to edit.
It makes the project look more official and gives us access to features like GitHub teams and projects.
Todo:
Provides Issue component with the issue to render
Updates ratings of Resolution components
Currently, the navigation icons are using icons from https://material.io/tools/icons/?style=baseline
The ones currently chosen aren't very good.
Find better World icon
Find better Map icon
Change navigation bar to include new icons
Currently, issues are queried in their entirety and then iterated over by id to find a specific issue by id
With many issues, this will be a major slow down
Modify Issue.service.ts to query only issues by id and allow finding it to be handled by firebase server
Once fixed does anything rely on the old behaviour? change if so
As an exercise, each of us should try creating an issue.
Start by looking at we've defined as what we want, and creating steps to reach that.
Making the repository public exposes any secrets in files.
Currently, firestore's apiKey is stored in src/environments/environment.ts
Load apiKey from external .gitignore'd file
Remove apiKey from history of src/environments/environment.ts
Technically, the apiKey can be extracted from the running website itself with a lot of effort. However, currently, Firestore is in permissive/debugging mode with no permissions, so web-scrapers should be isolated from the key or else all hell could break loose.
The Firestore DB has no storage of comments, which means we cannot implement the design standard.
As a development team member
I want to change the app name from edu-change to be our new app name - Fixiversity
so that all users and team members can see our cool new app name
The name of edu-change is not unique and so we come up with Fixivisity
.
All code delivered and managed in GIT
Code is globalization ready - strings externalized
Code meets accessibility standards
Project management notified of any 3rd party/open source updates
Impact on other services is understood and impacted teams engaged
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.