TripPin is a sample service based on OData V4. Generally speaking, TripPin provides a service that can manage people's trips. The service is designed for below purposes:
- Build a service that will cover as many features for OData V4 as possible.
- Build a more real world service, and will use it to build an end-to-end ecosystem.
- Make a service reference for developers to follow when they try to build an OData service. The source code will be published soon.
We are happy to announce that the source code of TripPin implemented using Web API OData is now available at GitHub. Please take a look and provide questions or feedback.
Please play with this new sample service for OData V4. You can use it either to know more about OData or build an application upon that. If you have any problems, suggestions, bug reports for TripPin, you can join OData Mailing List to discuss about it.
The class diagram below describes the model design for TripPin
As we mentioned in the introduction part, TripPin tries to cover as many features as possible. Below are the main features we covered in TripPin.
- Basic entity / complex type and their collections
- Navigation property
- Collection property of primitive type
- Derived entity type
- Derived complex type
- Open entity type
- Open complex type
- Functions and Actions (Bound and Unbound)
- Enum Property
- Spatial Property
- Media Entity
- System query options ($select, $expand, $filter, $top, $skip, $count, $orderby, $search)
- Lambda operations (any, all)
- Create, Update, Delete
- Async request
Person is an entity and
Country is a complex type.
People is a collection of entity and
AddressInfo is a collection of complex type.
Friends is a navigation property.
Me is the Singleton
Emails is a collection property of primitive type string.
For instance, entity type
Event derives from
For instance, complex type
EventLocation derives from
Event is an open entity type.
Location is an open complex type.
For instance, GetNearestAirport is an unbound function, GetInvolvedPeople is a function bound to
Trip and ShareTrip is an action bound to
Gender is an enum property.
Loc is a spatial property.
Photo is a media entity