Skip to content

roechsli/planhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,818 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlanHub - Hack Zürich

Watch the Presentation and Tech Demo

About

A smart meeting planning and organization tool to help navigate in a hybrid work environment.

This is based on the calendar component for Angular 6.0+ that can display events on a month, week or day view. The successor of angular-bootstrap-calendar.

What it looks like

Alt text

Alt text

Alt text

Alt text

Set up

Install dependencies

python

cd backend

pip install -r requirements.txt pip install greenlet pip install mysqlclient

Angular

npm install

Prepare the database

Run the local mysql service on your machine. Update the connection string in the backend/config.py file.

Copy paste the database/table_creation into the mysql console. (This step is only needed once)

Prepare the Google Calendar

Go to the GCP Console and create a new user secret credential file for your gmail address.

Copy paste the content into the file backend/client_secret_GoogleCloudDemo.json

Run the code

python

cd backend

python main.py

Angular

npm run start

Access the Web App

Navigate to http://localhost:4200

Getting started with Angular

ng add (recommended)

ng add angular-calendar

Manual setup (ng add will do this all for you)

First install through npm:

npm install --save angular-calendar date-fns

Next include the CSS file in the global (not component scoped) styles of your app:

/* angular-cli file: src/styles.css */
@import "../node_modules/angular-calendar/css/angular-calendar.css";

Finally import the calendar module into your apps module:

import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CalendarModule, DateAdapter } from 'angular-calendar';
import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';

@NgModule({
  imports: [
    BrowserAnimationsModule,
    CalendarModule.forRoot({
      provide: DateAdapter,
      useFactory: adapterFactory,
    }),
  ],
})
export class MyModule {}

In order to allow the most flexibility for all users there is a substantial amount of boilerplate required to get up and running. Please see the demos list for a series of comprehensive examples of how to use this library within your application.

Once you are up and running, to access a full list of options for each component, the individual APIs are documented here: mwl-calendar-month-view, mwl-calendar-week-view and mwl-calendar-day-view.

If you would like a one on one consultation with me where I can show you the best way to integrate and customise this calendar within your application, then you can get this by becoming a Platinum Sponsor on GitHub.

Please note: angular-calendar uses Scarf to collect anonymized installation analytics. These analytics help support the maintainers of this library. However, if you'd like to opt out, you can do so by setting scarfSettings.enabled = false in your project's package.json. Alternatively, you can set the environment variable SCARF_ANALYTICS=false before you install.

Module bundlers

You can find quick start examples for all common module bundlers in the build-tool-examples folder.

Documentation

To see all available API options, take a look at the auto generated documentation. You may find it helpful to view the examples on the demo page.

Development

Prepare your environment

  • Install Node.js and NPM (should come with)
  • Install local dev dependencies: npm install while current directory is this repo

Development server

Run npm start to start a development server on port 8000 with auto reload + tests.

Testing

Run npm test to run tests once or npm run test:watch to continually run tests.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Contributors