Giter Site home page Giter Site logo

patchthecode / jtapplecalendar Goto Github PK

View Code? Open in Web Editor NEW
7.5K 123.0 794.0 2.5 MB

The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable

Home Page: https://patchthecode.com

License: MIT License

Swift 99.03% Ruby 0.36% Objective-C 0.61%
calendar swift ios jtapplecalendar year-calendar year-view weekview

jtapplecalendar's Introduction

jtapplecalendarnewlogo

Tutorial Version Carthage Compatible Platform License Backers on Open Collective Sponsors on Open Collective Open Source Helpers

Q: How will my calendar dateCells look with this library?

A: However you want them to look.

More Images

Features


  • Range selection - select dates in a range. The design is entirely up to you.
  • Boundary dates - limit the calendar date range
  • Week/month mode - show 1 row of weekdays. Or 2, 3 or 6
  • Custom cells - make your day-cells look however you want, with any functionality you want
  • Custom calendar view - make your calendar look however you want, with what ever functionality you want
  • First Day of week - pick anyday to be first day of the week
  • Horizontal or vertical mode
  • Ability to add month headers in varying sizes/styles of your liking
  • Ability to scroll to any month by simply using the date
  • Ability to design your calendar however you want. You want it, you build it

How do I use this library?

>> Read the wiki for Tutorials and example code to download. Or visit PatchTheCode.com.


Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Want to become a sponsor? Send an email to [email protected]

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

License

JTAppleCalendar is available under the MIT license. See the LICENSE file for more info.

jtapplecalendar's People

Contributors

131e55 avatar aboudou avatar alexookah avatar anlaital avatar baptistesansierra avatar bmoliveira avatar bryancaragay avatar charlymr avatar cl3m avatar crirob avatar emcphersonburke avatar fbernutz avatar florentmorin avatar giantramen avatar hatunike avatar hemangshah avatar jinjorge avatar jolyot avatar kyleconway avatar larryonoff avatar leighroybrown avatar logicality77 avatar loryhuz avatar mgurreta avatar monkeywithacupcake avatar patchthecode avatar wisely-public avatar yojkim avatar z3bi avatar zapko 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jtapplecalendar's Issues

Crash on using NSDate() without a formatter for date ranges

Under configure calendar, if I make date ranges using NSDate():

let currentDate = NSDate()
let startComponents = NSDateComponents
let startDate = calendar.dateByAddingComponents(startComponents, toDate: currentDate, options: NSCalendarOptions())
let endComponents = NSDateComponents()
endComponents.month = 1
let endDate = calendar.dateByAddingComponents(endComponents, toDate: currentDate, options: NSCalendarOptions())

I'm getting this error

2016-04-29 17:38:30.217 MyApp[81989:679927] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'attempt to scroll to invalid index path: <NSIndexPath: 0x7b073180> {length = 2, path = 0 - 0}'

I can work around this if I use the an NSDateFormatter to convert a date into a string, and back into a date. I'm not sure if this is me or the library.

let currentDateStr = formatter.stringFromDate(DayService.getFirstDate())
let currentDate = formatter.dateFromString(currentDateStr)!

let startComponents = NSDateComponents()
startComponents.month = -12
let startDate = calendar.dateByAddingComponents(startComponents, toDate: currentDate, options: NSCalendarOptions())                
let endComponents = NSDateComponents()
endComponents.month = 1
let endDate = calendar.dateByAddingComponents(endComponents, toDate: currentDate, options: NSCalendarOptions())


Warning from App Store

Hi, after submission for internal testing I've got that message:
Non-PIE Binary - The executable 'JTAppleCalendar.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information, refer to Technical Q&A QA1788 - Building a Position Independent Executable

I'm using version 4.0.0
Any Idea what it is about?

Thanks
Kristof

How do i get rid of the extraneous rows of dates, In Vertical Scroll mode?

First of all, this is the best Calendar library ever! Here's a demo screenshot of what I have so far.
ftndyteln3bwniqwhpymzu068ub4druytgv_6ov1vxg

Question 1:
My issue, as you can see, is that the calendar displays an extra row of grayed out dates representing dates from the next month. How do I not display this row? I tried limiting numberOfRows to 5 but it still displays this row.

Question 2 (related): How do I remove any dates that don't belong to the current month entirely? What I've tried so far without success:

  • In the isAboutToDisplayCell delegate, toggling cell.hidden = true based on whether the date falls into the range of the calendarView.currentCalendarDateSegment() date range.

Thanks your help is much appreciated! Let me know if I can provide any additional info

show current day on viewDidLoad

Hey, just trying to do calendarView.scrollToDate(NSDate()) at the end of viewDidLoad (after calendar setup) but it's not happening, any idea ?

Header for each month

Hi! First of all, let me tell you that this project is magnificent, it might be the latest calendar library that I'll try for creating my iOS apps :)

I got a simple question, is there a way to add a header view for each month? I want to make my calendar a non-paging one, and the empty space between the months seems kinda off... Is it possible to do this now?

Thank you! :)

Code works in simulator. Error on launch on Device

From User: @miff

Thanks! :) Solved the strange space.

For other errors, it's only happened to second project (2nd zip)

Swift cannot find declaration for JTAppleDayCellView class, but errors throw only when run on device, in simulators (any) it fine

screen shot 2016-05-29 at 10 37 49

From StackOverflow: Show multiple events at JTAppleCalendarView

Muneesh_Chauhan

I am implementing JTAppleCalendarView in Swift. How I can show multiple events in Calendar without interaction at Calendar View i.e. Multiple events should be shown on Calendar.

I am getting some date from server. All date should be show at Calendar as Event (ie. selected).

Bad Exec Error...

I'm getting a EXC_BAD_ACCESS error when trying to set the delegate to my controller

I also don't see JTAppleCalendar as one of the choices on the Class Inspector. I see the classes in the attached screenshot.

Am I doing something wrong? Using latest Xcode.
screenshot 2016-05-23 18 15 27

Here's a screen shot of the error:

screenshot 2016-05-23 18 23 16

Manipulating cell properties explicitly

In my isAboutToDisplay method, I manipulate a property of my cell based on some factor (Hide or Unhide a view of the cell).

However, I'm not finding a way to unhide this view of a specific date explicitly.

Unhiding this view is not the same as selecting it. There's selecting a date and then there are the dates with this view unhidden.

So, when the user commits an action, I want to unhide this view of a specific cell (date) but will not be able to because the calendar does not go through isAboutToDisplay again.

Does this make sense?

The calendar loads and some views have a green view unhidden. If the user commits an action , I want to set the date in which the action was committed to green (ie unhide the green view); however, unhiding this green view is different than "selecting".

Thanks for your help man

Calendar changes the first day of the week on first selection

Hi,
the strange situation happen after upgrade to 4.0.0:
when I display calendar it looks like this:
simulator screen shot 8 jun 2016 11 24 12
after you click on June 1st it changes to this
simulator screen shot 8 jun 2016 11 24 50
additional clicks do not affect it.
Note that days of the week are hardcoded outside calendar view so they do not change ....

Space Seen when using NavigationBar

Hi,
Does somebody know how to get rid of this strange "top-margin" when use navigationController?

simulator_screen_shot_28_05_2016_02_06_21

Without navigation bar everything is ok.

Thanks,

Does 1 row calendar view sometimes skips days?

In your example, I change line 40 in ViewController.swift to:

calendarView.numberOfRowsPerMonth = 1 

Most of the days are properly displayed but sometimes there are gaps in days:

screenshot of simulator 4-30-16 2-30-12 pm

I haven't found a pattern in when days are skipped just yet.

My workaround right now is to call

calendarView.changeNumberOfRowsPerMonthTo(1, withFocusDate: NSDate())
calendarView.reloadData()

in viewDidLoad. It gives me an animation when hopping to the date, which isn't ideal, but works for now.

Targetting self for dataSource and delegates

Hello,

I seem to have an issue on the last real step of the tutorial, which is setting up the dataSource and delegates. I try to set them both to self as is shown in the tutorial and I get an error that "Cannot assign value of type monthViewController(My view handling class name) to JTAppleCalendarDataSource". This is what the troubling section of code looks like.

import JTAppleCalendar

class MonthViewController: UIViewController {


    //MARK: Properties
    @IBOutlet weak var calendarView: JTAppleCalendarView!



    //Default UIViewController Methods:
    override func viewDidLoad() {
        super.viewDidLoad()

        calendarView.dataSource = self
        calendarView.delegate = self

        calendarView.registerCellViewXib(fileName: "CellView") // Registering your cell is manditory
    }

change dateformatter

hi
how can change date formatter to jalali and change style number ??
thanks for help ??

Issue when using @IBDesignable

Hi,

@IBDesignable is not working when I add your pod into my Podfile. I don't know how is that related but without calendar this works, with a calendar I get build failed and can't use @IBDesignable, @IBInspectable features and I am not using this on a view that holds a calendar, it is another view. Do you have any idea what is causing this?

Manipulating another cell

I was just wondering if it is possible to manipulate another cell when the user tap a cell.
For example, when I tap 24 June cell, it will then change the cell for date 28, 29, 30th June also.
If its possible could you shed some light on how to achieve this?

Start day of week

Hi, first, thanks for you library. It saves me lot of hours.

For my app, I try to put monday as the first day of week. I use :
self.calendarView.firstDayOfWeek = DaysOfWeek.Monday

But nothing append. Sunday stay the first day of week, even after a reloadData()
But it work with the demo app...
I use the last version of calendar (2.1.2)

But maybe there is a thing that I misunderstand ?

Thanks !

Updating selected dates

When my app loads it gathers all dates in a database and selects them. When a user taps on some date it should reselect all dates in real time. So if I tap i.e. on a June 1st and then June 4th, all in between should be selected. I have reference to all dates in between but how do I properly deselect all dates and select them again?

calendar.selectedDates.removeAll() won't work. It alerts me that selectDates is let.

Add Objective C implementation

Please, pretty please.
I know there's a way to use swift code inside objective C project, but it usually gets pretty ugly.

Can't initialize the view in code

There seems to be an issue with the latest version where the init(frame: CGRect) is commented.

This prevents from instantiating from code with a frame.

Calendar Grid is not fully 0,0 when set to 0,0 Cell inset. It is off by one pixel when orientation changes. This seems to be an iOS issue. Workaround for now is to set the inset to some negative fractional value if you are experiencing the issue.

I have a three month calendar (June - Aug, 2016). I've attached three images.

First is how the calendar initially appears, second is when I scroll from June to July and third is when I scroll back to June.

Here's the additional code in my controller:

    calendarView.dataSource = self
    calendarView.delegate = self
    calendarView.registerCellViewXib(fileName: "ScheduleCellView")
    calendarView.backgroundColor = UIColor.whiteColor()
    calendarView.cellInset = CGPoint(x: 2, y: 2)

    let currentDate = calendarView.currentCalendarDateSegment()
    setupViewsOfCalendar(currentDate.startDate, endDate: currentDate.endDate)

setupViewsOfCalendar is from the tutorial.

screenshot 2016-05-24 10 39 52

screenshot 2016-05-24 10 40 04

screenshot 2016-05-24 10 40 20

Selecting a date should also select its FollowingMonthWithinBoundary or PreviousMonthWithinBoundary counterpart and vice versa

Hello,

I'm trying to do a range selection. Everything works fine except when I try to select multiple dates.
Dates from the previous or next month, displayed in the current month view are not being selected when I call calendarView.selectDates([dates]).
Also, selecting (by tapping) a date from FollowingMonthWithinBoundary or PreviousMonthWithinBoundary won't select the date on the month it belongs.

On the screenshots I selected April 1st as start date and May 10 as end date and I'm selecting all the dates between with calendarView.selectDates method.
img_1701
img_1702

Is there any solution/workaround to achieve this please?

Calendar selection clicks are one click behind

I've enabled the calendar for selection.

func calendar(calendar: JTAppleCalendarView, didDeselectDate date: NSDate, cell: JTAppleDayCellView?, cellState: CellState) {
let game = RealmController.sharedInstance.getGameForDate(date)

    if game != nil {
        SwiftLogger.debug(String(format: "Game details: %@, %@, %@", (game?.opponent)!, (game?.date)!, (game?.startTime)!))
    } else {
        SwiftLogger.debug("no game on chosen date")
    }
}
  • The initial click does not hit the above callback.
  • Subsequent clicks send the date from the previous click

When programmatically scrolling calendar, didSelectDate gets called.

I need a way to determine whether the calendar is scrolling because the user swiped it or because I changed it programmatically.

Note for example that when we programmatically scroll a UITableView, the scrollViewDidEndDecelerating doesn't get called also when programmatically selecting a cell in a table view, didSelectRowAtIndexPath doesn't get called.

However, when I programmatically scroll a calendar view by calling scrollToDate then didScrollToDateSegmentStartingWith:endingWithDate: does get called.

Displaying custom design on a specified date

I have many arrays of dates and I am extracting first date from arrays and adding 10 days on that first date. So I have a custom design set up already and it is working as expected when the app loads and shows current month. But when I scroll to a month before or a month after I still get that date printed out in my console that should have different design (that means my code for calculation works) but my custom function in .isAboutToDisplayCell is not affecting them. I tried to add calendarView.reloadData() but then calendar just freezes. I wonder if you have some suggestion on how to apply that custom design if .isAboutToDisplayCell meets certain date?

This is my code in class CellView: JTAppleDayCellView

// Display circle on a date that predict future bleeding
    func displayFutureDate(trueOrFalse: Bool, cellState: CellState) {
        if trueOrFalse == true {
            futureDate.hidden = false
            futureDate.layer.borderWidth = 1
            futureDate.makeCircle()
            futureDate.layer.borderColor = whiteColor.CGColor
        } else {
            futureDate.hidden = true
        }
    }

Just showing or hiding some UIView. And I am calling this in .isAboutToDisplayCell if certain date is met.

update mess

Had a crash on JTAppleCalendarHorizontalFlowLayout.swift:
line 131 let requestedColumns = Int(ceil(rect.width / itemSize.width)) because itemSize = (0, 0)

so I updated to 4.0.2, but my view layout is now totally broken, is there something more you added to configure now ? I see you changed a lot of stuff on FlowLayout, it is not stable at all.

Free flowing 1-row ticker a la Fantastical

The iOS app Fantastical allows for fluid horizontal scrolling in a one-row calendar view. Rather than paging per week, the days slide by fluidly by any increment. How much modification to JTAppleCalendar do you think this would take?
2014-04-01 04_38_10 pm

How selecting multiple dates work

Pasted from user:

It's me again.

This new function is working in a weird way. Let me show you.
When the app first loads it runs this:
calendarView.selectDates(selectedDays, triggerSelectionDelegate: false)

And this works as expected, my dates get isSelected to true. Then, when I tap on a date to select it or deselect it that code is repeated, but instead of selecting every date in my array again it sets their isSelected property to false and they disappear.

tried to play with it a little and I typed:

calendarView.selectDates(selectedDays, triggerSelectionDelegate: false) // makes dates in array selected
calendarView.selectDates(selectedDays, triggerSelectionDelegate: false) // this one destroys work of that previous one

That second function really reverts their state to the opposite of their previous state. Why is that happening?

Hiding boundaries on single row layout

Hey great work on this! Really smart and Apple-Esque implementation. I'm currently using the single row layout (numberOfRowsPerMonth = 1). Everything is working great, except that the boundary dates really do not make sense for this layout. You'll get a jump from (example May to June goes 31, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 29, 30, 31 and then back to 1 for June).

Is there a way to prevent these dates from showing, or a possibility to include this feature?

Also, is it possible to add the ability to set specific starting and ending dates for single row layout? Right now it will give the entire month it seems. So if I set the startDate as the beginning of this week and the end date today, it will give me all of May to July 9th, where I would like just this week (Sun to Sun).

Last question - currently scrollToDate scrolls to the beginning of the screen with 1 row layout. Is it possible to add the option to specify the scroll position? Perhaps let position: UICollectionViewScrollPosition = self.direction == .Horizontal ? .Left : .Top could reference a new parameter on scrollToDate?

Proper way to reload calendar and redraw date views?

In the app I'm building with this right now I need to be able to reload the calendar view on a certain interval, the basics of that I understand (NSTimer plus the .reloadData() function for reloading the calendar data when needed). However, since I'm coloring today differently from every other day I can see that something is not quite right, because in a test app I set up to debug this (so that my much more complex codebase wouldn't complicate things while debugging this specific bug) I'm reloading data anytime I tap a date in the calendar, and in some seemingly randomly selected order of dates different dates get the today coloring, too, or actually even just, say, the new background color but not even the new text color. I've also played around with .reloadDates() and that only made things react stranger, where the first tap-to-reload things seem normal, then a different seemingly random order of dates getting today colors ensues for the second and beyond tap-to-reloads (though after first writing this I now see that this method just improperly colors a different date as today on the second tap, then things seem normal). I get the feeling I'm not explaining this clearly... I can share my test project with you if you'd like. Any idea what is going on with regard to why the calendar view's implementation of .reloadData() is making the calendar view draw dates in the weird way I'm trying to describe in plain language? Any help would be greatly appreciated.

Multiple loading of calendar multiply Header XIB file registered resulting crash due to "Identifier was not registered:"

Im using calendar to filter results by date, when calendar is displayed for the first time everything is OK but after dismissing view and trying load for a second time, method self.calendarView.registerHeaderViewXibs(fileNames: ["HeaderView"]) loading the same file for a second time and than condition "if headerViewXibs.count == 1" is not met resulting crash:
assertion failed: Identifier was not registered:
screen shot 2016-06-06 at 15 47 29
file.../Pods/JTAppleCalendar/Pod/Classes/JTAppleCalendarDelegates.swift, line 154
I'm using only one xib file for HeaderTemplate

Crash when loading Xib files

I'm having an issue with layoutAttributesForElementsInRect loading Xib files. I'm pretty new to swift so this may be a rookie problem, but I can't seem to load headers for the cells.

screen shot 2016-06-06 at 9 11 09 pm

If I comment out the call to registerHeaderViewXibs in the viewDidLoad it runs fine but no headers. I'm running version 3.0.0

Calendar did not load properly

Hi, I can't figure out why the calendar displays this. I followed the tutorial directly but I got this result:
simulator screen shot 22 jun 2016 7 05 34 am
(The black dot on the side scrolls when I swipe the view)
I have applied the Cell XIB and autolayout constraints and all.

I don't know what I did wrong here.

Can select date returns true always

From this user.
#16

That being said, I found that result of delegate's calendar(_:, canSelectDate:, cell:, cellState:) method is not used, since the place where it's called (in collectionView(collectionView:, shouldSelectItemAtIndexPath indexPath:), I recall) always returns true instead of using the result. I could create a pull request if you want to, but I afraid my fork deviates too far away from the original 😬 and it wouldn't take much to fix that bug, IMO 😄

How can I add custom design for some dates?

Hi again,

my calendar will show circle (or something else) on some dates in future based on my calculations in my ViewController. How can I apply custom styling within my function for calculations for certain dates?

ReloadDates

I'm not sure if this is working correctly. I'm trying to scroll to a date, and select it (single selection) not by pressing on the date itself but by gesture. I have other logic in the didSelectDate implementation that prevents me from being able to trigger the delegate call.

So I have

calendar.scrollToDate(date)
calendar.selectDates([date], triggerSelectionDelegate: false)
calendar.reloadDates([selectedDate])

where selectedDate is the previously selected date, however it is not reloaded, and remains selected. Any ideas?

User configurable scrollToDate position

Add an option to determine to scroll to .Center, .Left or .Right depending on user needs.

E.g. let position: UICollectionViewScrollPosition = self.direction == .Horizontal ? .Left : .Top could reference a new parameter on scrollToDate

Programmatic way to go to next/previous month

I'v added arrow buttons to go to next/previous month (image posted on 18 june), but it seems there's no way to do this programmatically at the moment ?

I did it adding these funcs in JTAppleCalendarView.swift

`

public func scrollToNextSection(completion: () -> Void) {
    let cvbounds = self.calendarView.bounds
    let totalSections = monthInfo.count * numberOfSectionsPerMonth
    var page = min(currentSectionPage + 1, totalSections - 1)
    var offsetx = self.calendarView.contentOffset.x
    var offsety = self.calendarView.contentOffset.y
    if self.direction == .Horizontal {
        offsetx = CGFloat(page) * cvbounds.size.width
    } else {
        offsety = CGFloat(page) * cvbounds.size.height
    }
    UIView.animateWithDuration(0.4, animations: {
        self.calendarView.contentOffset = CGPointMake(offsetx, offsety)
        }, completion: { done in
            completion()
    })
}
public func scrollToPreviousSection(completion: () -> Void) {
    let cvbounds = self.calendarView.bounds
    let totalSections = monthInfo.count * numberOfSectionsPerMonth
    var page = max(currentSectionPage - 1, 0)
    var offsetx = self.calendarView.contentOffset.x
    var offsety = self.calendarView.contentOffset.y
    if self.direction == .Horizontal {
        offsetx = CGFloat(page) * cvbounds.size.width
    } else {
        offsety = CGFloat(page) * cvbounds.size.height
    }
    UIView.animateWithDuration(0.4, animations: {
        self.calendarView.contentOffset = CGPointMake(offsetx, offsety)
        }, completion: { done in
            completion()
    })
}

`

But when animating, all the cells from current month disappear... it's not as nice as doing it by scroll...

There's definitely a better option ?!

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.