๐
Members:
- Timur Kartaev 727642
- Satenik Hovsepyan 727561
- Bruno Duarte 727396
- Authentication
- Basic player functionalities
- Basic developer functionalities
- Game/service interaction
- Quality of Work
- Non-functional requirements
- Register, login and reset the password is already implemented in Django and we just plan to use them.
- We are going to create models to represent the games, purchases, and the search feature and also built in constraints on what each user can play according to their purchases.
- We are going to create a model "profile" to extend Django's user model and represent Developers/Players. Developers can add or remove games from their shelf.
- We are going to use messages for communication between the game and the game service.
- All code is going to be documented and separated in files to accordingly apply the DRY paradigm.
- Mobile Friendly
- Social media sharing
- RESTful API
- 3rd party login
- Save/load and resolution feature
- Own game
- We plan to use bootstrap for the mobile friendly components
- We plan to use OpenGraph.
- Different views for providing the REST service.
- We are going to use the third party app (python-auth) for Social Media login
- We are going to store the state of the game in a model
- We are going to develop a very basic game of guessing cards/values.
Note: We plan to start implementing extra features in aforementioned order and implement as many of them as we have time for using our best effort.
- Profile
- role = CharField
- games = ManyToMany(Game)
- Category
- title = CharField
- slug = SlugField
- Game
- title = CharField
- url = URLField
- price = PositiveInegerField
- category = ForeignKey(Category)
- developer = ForeignKey(User)
- status = CharField
- is_deleted = BooleanField
- Order
- code = UUID4Field
- user = ForeignKey(User)
- cart = ForeignKey(Cart)
- status = CharField
- total_amount = PositiveIntegerField
- Cart
- user = ForeignKey(User)
- status = CharField
- created = DateTimeField
- OrderItem
- game = ForeignKey(Game)
- cart = ForeignKey(Cart)
- price = PositiveIntegerField
- amount = PositiveIntegerField
- Payments
- order = ForeignKey(Order)
- status = CharField
- GameScore
- game = ForeignKey(Game)
- user = ForeignKey(User)
- score = IntegerField
- GameState
- game = ForeignKey(Game)
- user = ForeignKey(User)
- state = JSONField
- saved = DateTimeField
- LoginView
- RegisterView
- PasswordResetView
- GameListView
- GamePlayView
- CartView
- CheckOutView
- OrderFinishedView
- ProfileView
- GameListView
- CreateGameView
- EditGameView
- RemoveGameView
- SaleStatisticsView
- SaveUserScoreView
- ScoreDashboardView
- SaveGameStateView
- LoadGameStateView
- GameListView
- HighScoresView
- StatisticsView
- We plan to have regular meetings, at least once a week to split tasks and assign features.
- We would use GDrive for collaborative common documents and to eventually use them as a reference in our day-to-day tasks.
- We would use Aalto Gitlab to keep track of our project and source code.
- Week 0 is the week 52 from 2018
- Week 1 corresponds to the week 1 from 2019
Week and Dates | Tasks | |
---|---|---|
Week 0 | 24-30.12 |
|
Week 1 | 01-06.01 |
|
Week 2 | 07-13.01 |
|
Week 3 | 14-20.01 |
|
Week 4 | 21-27.01 |
|
Week 5 | 28-31.01 |
|
Week 6 | 04-10.02 |
|
Week 7 | 11-17.02 |
|
Week 8 | 18-19.02 |
|