---
# System prepended metadata

title: Aavishkar app

---

# Aavishkar app
**Version 3.0** 

This app is being developed by the GNU linux users group exclusively for the aavishkaar fest to be held at NIT durgapur.

## Roadmap
- App will be implemented on BloC pattern
- We will move our backend from google cloud (Firebase) to Aws.
- Backend will be developed using serverless technlogy(Lambda). Language will be Node.js

## Features
- Unified login experience (Google, Facebook, Email & Password, Apple)
- Push notifications on events.
- Forum for discussion.
- Games to earn eurokoins and spend in the fest.
- Best Photo of the Fest contest.

## Eurokoins

- Everyone will given a free 100 eurokoins.
- Every referral will grant them 25 eurokoins.
- One can earn and spend eurokoins in the games section.
- Everyday the Photo of the day winner will win 1000 eurokoins.
- They can only be convertible into coupons and non-convertible into any form of assets or cash.
- They will be mined only one time during sign up of users.
- The number of eurokoins is fixed to the number of users.
- Any form on prizes paying eurokoins need to be funded from other eurokoins wallets, due to limitations of non-mining of eurokoins.
- **Every eurokoin earned is every eurokoin deducted** (Except during sign up of users.)

## Games Zone

### Dice and Box
This is a two player luck based board game, where a player will be provided to roll two dice and try to match a number provided on a wooden box. Player having highest number of matches among five boxes wins the game and earn double amount of eurokoin cashed in for the table.

## Login Systems

- ![Sign in with Apple](https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/images/apple-id-sign-in-with_2x.png =200x50)

- ![Sign in with Google](https://developers.google.com/identity/images/btn_google_signin_dark_normal_web.png =200x50)

- ![Sign in with Facebook](https://scontent.fccu11-1.fna.fbcdn.net/v/t39.2365-6/17639236_1785253958471956_282550797298827264_n.png?_nc_cat=105&_nc_ohc=ZDSP9rw6-MMAQmF1_3BK5t-5OVcWcfCT0MdO3fup7t-huNCz8CpnVOTeg&_nc_ht=scontent.fccu11-1.fna&oh=b35bb3a0dc4369820a131b3579693379&oe=5E66C4EA =200x50)
- Email and Password

## WebSocket Implementation

We need to websocket to provide a constant realtime connection between the client and the server so that they can constantly get update on the score, other player move. 

- GET /session
- POST /session
- PUT /session
- DELETE /session

```
class Session {
    String id;
    String gameId;
    DateTime startTime;
    PlayerSession player1;
    PlayerSession player2;
}

class PlayerSession {
    String playerId;
    int currentScore;
    GameObjects[] moves;
}
```

### PUT /<gameid>/move

- userId
- moveObject

### GET /<sessionId> - Return sessionData of the game
