https://github.com/fredericbonnet/instakittens
The Instakittens project is a collection of Instagram-like applications build for educational purpose using a variety of technologies.
https://github.com/fredericbonnet/instakittens
Last synced: over 1 year ago
JSON representation
The Instakittens project is a collection of Instagram-like applications build for educational purpose using a variety of technologies.
- Host: GitHub
- URL: https://github.com/fredericbonnet/instakittens
- Owner: fredericbonnet
- Created: 2018-11-15T21:45:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-24T06:47:24.000Z (about 7 years ago)
- Last Synced: 2025-01-22T19:36:42.820Z (over 1 year ago)
- Homepage:
- Size: 1000 Bytes
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Instakittens project
The Instakittens project is a collection of Instagram-like applications using a
variety of technologies:
- Languages
- Frameworks
- Protocols
- Architectures
This is mostly an educative and explorative project with a strong focus on
tests, not applicative code. Think of [TodoMVC](http://todomvc.com/), but for
testing frameworks. TodoMVC is a great project, but I think that, in the scope
of this project, the data model and the business rules of a To-Do list manager
are too simple compared to most real-world applications, especially on the
following points:
- No complex entity relationships
- No user profiles
- Use case scenarios are very linear and self-contained
- Static, non-temporal data
On the other hand, social applications such as Instagram:
- Are multi-users by nature, interacting with each others
- Define several user profiles
- Implement authentication and authorization policies
- Handle temporal data (e.g. comments)
Last, they only depend on a handful of entities (users, albums, photos,
comments), making them ideal candidates for this experiment.
## Entities
### Users
The application allows several levels of access:
- Anonymous, unauthenticated visitors
- Registered users
- Administrators
### Albums
Users can create any number of photo albums. Albums allow several access levels:
- **Public**: Content is visible by everybody
- **Restricted**: Content is visible by registered users only
- **Private**: Content is visible by owner only
### Photos
Albums can contain any number of kitten pictures.
### Comments
Registered users can post comments under public or restricted album photos.
## Subprojects
### Instakittens Data Generator
JSON database generator for the Instakittens project
https://github.com/fredericbonnet/instakittens-data-generator
### Instakittens JSON Server
Mock REST API server for the Instakittens project
https://github.com/fredericbonnet/instakittens-json-server
### Instakittens React administration interface
React-admin application for the Instakittens project
https://github.com/fredericbonnet/instakittens-react-admin
### Instakittens Ionic 4/Angular client application
Ionic 4/Angular application for the Instakittens project
https://github.com/fredericbonnet/instakittens-ionic4