KinGames is a fullstack web app, created using Django and React.
This app was build by Ilya Makarov, KPI University student from Kiev, as a
final project in EPAM Systems academy.
The topic of website is internet shop for gamers, which provides an userfriendly interface for buying computer games.
KinGames provides some comfortable features for filtering and searching games, in order to get exactly customer wants.
This project is done using Django Rest Framework and React.js.
There development and production docker files for easy deploy or testing.
Main page, where we can see nice mosaic of games
Here we may see my filtering in action.
If user wants to order game, or just find out its details, he can just click on its picture
Even as an anonymous user we can order games we like. We add games to the cart by clicking on appropriate button:
After we got all we want, just click on "PROCEED" button:
Anyway, unauthenticated users can use 100% of websites power. So lets dive into accounts.
We can just click on "Sing in" button at the top of the screen.
There are 3 types of accounts in KinGames:
- Users
- Managers
- Admins
First is just a regular user, which can comment
games, and put his marks. Managers and Admins can
add new games, edit or delete excisting. Also both
of them can delete users comments, if they disrupt
KinGames chant rules. But anyway, edit comment can
only its author. The difference between Admins and
Managers is that admins can create new managers.
Now I singed in Admin account, so that there is nothing I can not do now.
First things first, we can edit our profile, or delete it, if we want.
As an admin, now I can add new games, or edit existing:
I have already mentioned that as an Admin I can give manager privilege to users:
There we can also search users by first or last name. Also, this system is lazy, so dont thing that it loads all service users at once.
It loads just 12 users and then, load additional users while we're scrolling down.
Now, as we know what admin user can do, lets see what functionality gives authentication even to a regular user.
Now we can give games our mark, so that other users will see weather we liked it or not.
The second feature is comments:
We can write our comments, reply on comments, edit them or just delete.
Worth mentioning that even if we press delete comment button, the comment wont be deleted, and we will see the "UNDO" button, to revert deleted comment,
but if we reload the tab or leave this page, the DELETE request will be sent to the server, and your comment will flush away.
We can also see the comment we replied on, by pressing on its link, right above our.
If we press it, browser will scroll up to this comment, and will highlight it.
If you would like to clone this project, and run it. You can just type:
- git clone https://github.com/kinfi4/KInGames.git
- cd KinGames
- docker-compose -f docker-compose.dev.yml up
Make sure that you have your .env.dev file in backend folder,
where you specify essential environment variables.