Coder Social home page Coder Social logo

dlr-sc / gitlab-calendar-webservice Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 703 KB

Webservice that implements the python library GitCalendar, which generates an ICS file from issues, milestones and iterations, of one or more GitLab projects.

License: Other

Python 6.97% CSS 33.85% JavaScript 57.67% HTML 1.51%

gitlab-calendar-webservice's Introduction

Hi there ๐Ÿ‘‹

gitlab-calendar-webservice's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

gitlab-calendar-webservice's Issues

Development of second prototype

In GitLab by @Benjamin2107 on Jul 20, 2021, 09:16

What is the purpose of the change?

When presenting a first prototype, certain bugs and proposals for improvement will appear.

Which tasks have to be performed?

  • List all bugs and possible improvements
  • Fix the bugs, integrate improvements
  • Adjust documentation, tests, pipeline

Are there any acceptance criteria to check?

  • Does the app work as it should?
  • Test coverage from at least 75%
  • pipeline is running

Apply CSS theme to HTML templates

In GitLab by @Dr4k3 on Sep 30, 2021, 12:37

  • Select and apply CCS theme to HTML templates
  • Improve the usability the HTML sites were possible
  • Ensure all page still work as intended by executing the django test suite

Integrate gitcalendar

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:54

What is the purpose of the change?

The webapp should provide all functions, that the gitcalendar has.

Which tasks have to be performed?

  • Integrate gitcalendar tool and provide all features e.g. projects/ groups, issues/ milestones
  • Integrate specific features:
    • Possible generating of ICS files trough GitLab events
    • Possible generating manually though the app
    • Providing a unique URL for each file
    • authentification through a token, when the project/ group is private
    • Users can manage their projects
  • Documentation

Are there any acceptance criteria to check?

  • Every important function is provided

Improve documentation and packaging

In GitLab by @Dr4k3 on Oct 18, 2021, 11:08

Some necessary documentation and packaging is missing from the project.

Documentation Tasks:

  • Extend README.md
  • Add CONTRIBUTING.md
  • Add CONTRIBUTERS.md
  • Add CHANGELOG.md

Add packaging

  • Add build system and package setup

Clarify boundary conditions

In GitLab by @Benjamin2107 on Jul 20, 2021, 08:49

What is the purpose of the change?

A web application that uses the python library gitcalendar has to be implemented. There are different basic things that have to be clarified before starting the project.

Which tasks have to be performed?

  • selection of a webframework
  • selection of a programming language
  • structure of the URLs
  • What needs to be considered when managing users e.g. which project/group, only issues/milestones
  • how can adequate security be achieved

Prepare project

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:52

What is the purpose of the change?

The project has to be initialized, following the software engineering guidelines.

Which tasks have to be performed?

  • initialise git repository
  • add necessary files

First prototype

In GitLab by @Benjamin2107 on Jul 20, 2021, 08:55

What is the purpose of the change?

A web application that uses the python library gitcalendar has to be implemented.

Which tasks have to be performed?

  • Starting the webservice
    • Integrate gitcalendar tool and provide all features
    • Documentation
    • Testing
    • Automated build environment
  • Increase safety
    • Access from GitLab via API keys
    • Users are only allowed to trigger their own calendars
    • Access only for authorised persons
    • login via email and password

Are there any acceptance criteria to check?

  • Every important function is provided
  • There is a test coverage from at least 75 %
  • The pipeline is passing

Validate functionality of prototyp

In GitLab by @Benjamin2107 on Jul 20, 2021, 17:08

What is the purpose of the change?

When presenting a first prototype, certain bugs will appear.

Which tasks have to be performed?

  • List all bugs
  • Fix the bugs
  • Adjust documentation, tests, pipeline

Are there any acceptance criteria to check?

  • Does the app work as it should?
  • Test coverage from at least 75%
  • pipeline is running

Implement proposed improvements

In GitLab by @Benjamin2107 on Jul 20, 2021, 17:09

What is the purpose of the change?

When presenting a first prototype, proposals for improvement will be given.

Which tasks have to be performed?

  • List possible improvements
  • Integrate improvements
  • Adjust documentation, tests, pipeline

Are there any acceptance criteria to check?

  • Does the app work as it should?
  • Test coverage from at least 75%
  • pipeline is running

Automate test and build process

In GitLab by @Benjamin2107 on Jul 20, 2021, 17:02

What is the purpose of the change?

To ensure the quality of the software, CI is necessary. With this issue it can be provided.

Which tasks have to be performed?

  • Automate test and build process
    • test process in .gitlab-ci,yml
    • build process in .gitlab-ci,yml

Are there any acceptance criteria to check?

  • The pipeline is passing

Select web framework and programming language

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:32

What is the task?

  • selection of a webframework
  • selection of a programming language

What is the solution?

  • Multi-page approach -> after logging in, the User has multiple pages to manage his projects, his tokens, generate calendars, his personal data
  • Python Webframework -> easy implementation of the python library gitcalendar
  • server-centric -> different pages are retrieved from the server on demand, it is only a small service, reduced computing effort -> better than client-centric
  • action-based webframework -> controller receives requests, validates them and calls a suitable action

Flask or Django?

Django:

  • provides basic tasks
  • dynamic admin interface
  • user authentication
  • different security features
    -> fast development, good for learners

Flask

  • more open
  • no admin features
    -> more beginner mistakes possible

Django

Inform about sufficient security

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:46

What is the purpose of the change?

To make sure everything is running as it should, there are different things, you have to be aware of in terms of security.

Which tasks have to be performed?

  • find out what is really necessary to ensure adequate safety

What is the solution?

  • Access from GitLab via API keys
  • Users are only allowed to trigger their own calendars
  • Access only for authorised persons
  • login via email and password

Provide tests

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:57

What is the purpose of the change?

To automate the testing process, tests are needed.

Which tasks have to be performed?

  • Write tests for the important features of the webapp

Are there any acceptance criteria to check?

  • There is a test coverage from at least 75 %

Ensure Security

In GitLab by @Benjamin2107 on Jul 20, 2021, 17:04

What is the purpose of the change?

To make sure everything is running as it should, there are different things, you have to be aware of in terms of security.

Which tasks have to be performed?

  • Access from GitLab via API keys
  • Users are only allowed to trigger their own calendars
  • Access only for authorised persons
  • login via email and password

Extend project model

In GitLab by @Benjamin2107 on Aug 11, 2021, 12:58

The CalendarConfiguration and GitLabAPI models have to be implemented.

Tasks:

  • Add model CalendarConfiguration
  • Add model GitLabAPI
  • Add models to django admin
  • Add test to validate if the intended workflow can be performed with the model

ER-model

ER_diagramm_webservice

Design data model for webapp

In GitLab by @Benjamin2107 on Jul 20, 2021, 16:41

What is the purpose?

Before the programming can start, you have to make plans, how the app should work and what structure it should have.

Which tasks have to be performed?

  • Create data model
  • structure of the URLs
  • What needs to be considered when managing users e.g. which project/group, only issues/milestones

What is the solution?

...

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.