Be ITMO is a VK Mini App for exploring the ITMO culture and supporting students in their interaction with the university. The application includes tasks, information about directions and a virtual assistant of the Leopard, which develops as the tasks are completed.
Developed together with gaminv, raikevichI and EdwardShiroki
- React is a library for creating user interfaces.
- VKUI — a set of components for the development of VK Mini Apps.
- TypeScript — for typing and improving code stability.
- VK Mini Apps Router — navigation control in the app.
- VK Bridge — interaction with the VKontakte API to obtain user data.
- Django is a backend framework for managing application logic and data.
- PostgreSQL is a relational database for storing user data and progress.
- Docker — containerization of the application and database for easy deployment.
- A virtual character is a Leopard that helps to get acquainted with the directions of ITMO.
- Character levels — The Leopard goes through the levels, starting from "Not a dummy" and up to "Gigachad".
- Progress of the Leopard — the user's progress is displayed on the progress bar, the icon of the Leopard changes.
- Points and rewards — Tasks bring points that can be exchanged for achievements and university merch.
- ITMO directions — such as be friendly, be healthy, be eco and others where you can perform unique tasks.
First clone the repository and go to the project directory:
git clone https://github.com/vovandreevik/VK-MINI-APP.git
cd VK-MINI-APP
The project uses PostgreSQL to store data, and the database runs in a Docker container. To run, run the command:
docker-compose up -d
This will create and launch a container with PostgreSQL, which will be available on port 5432. Database Parameters:
User name: myuser
Password: mypassword
Database: mydb
Create a virtual environment, activate it and install dependencies for the backend:
python -m venv venv
source venv/bin/activate # For Windows use venv\Scripts\activate
pip install -r requirements.txt
Then perform migrations and start the Django server:
python manage.py migrate
python manage.py runserver
To install and run VK Mini App, refer to documentation.
- Main Page (light theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373781-394ea775-43b5-48f7-aa54-62ffd0e3f54d.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzgxLTM5NGVhNzc1LTQzYjUtNDhmNy1hYTU0LTYyZmZkMGUzZjU0ZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02ODQwMmYzNDkzYTM4NzJkYWJhMjdmODIxZDM0ZTRlOGY2MzA3MTkyZTM0NzViNjRmYzZmZTNkYmUwZmQ3NGIxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.PWKPURwuH-JI_wYkFt3ReCX0vvExlpf0q3LSeA0oJ08)
1.1 Main Page (dark theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373808-ef617e4a-21e3-4f39-8411-bc7055828122.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODA4LWVmNjE3ZTRhLTIxZTMtNGYzOS04NDExLWJjNzA1NTgyODEyMi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YzhhNzk1MTdlOGJjNzQxZWM0Yzg5OTIzNjQxODBlMTIzOGViZjA4M2E0MWNmMDM0Njg0MjFjODE3MGFjNzM2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.D_O97DB-fMo9E5aBQa10vWOhm9juH3sXPBXYJZqzD4s)
- Be ITMO (light theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373859-9db94cae-9fef-450d-a310-9abdec3a64f6.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODU5LTlkYjk0Y2FlLTlmZWYtNDUwZC1hMzEwLTlhYmRlYzNhNjRmNi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZjFlYTg3YzY5ZDA1YzgxMDY5ZTU0OGNiOWY1YzBlNmU5YTk2ZDYwMTZkZGUxZjdiYTRkZDhhYzk1NTNmYzI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.BEKeW-Xi1UTSpKHaIXxV6IeifvJM6LXaAJqyJWsI_g8)
2.1 Be ITMO (dark theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373843-f8895d4a-fd26-472c-bd72-7bb51711979f.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODQzLWY4ODk1ZDRhLWZkMjYtNDcyYy1iZDcyLTdiYjUxNzExOTc5Zi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iYTFjYjlhYzA4ZWNhMjE3MTVmYWI5NTg0ZTk3MTM5OTAzMTI2NWRiOTAyMjM3MjNmN2QzNWZmMGQ5MzMxNWY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.R1ZavFeVPcBq8E_EYQc-dvLukJRgfFdJCpR7T33OEaE)
- About page
![photo](https://private-user-images.githubusercontent.com/116523390/382373766-d2c28127-281f-4ca7-ab12-c4e962947b7a.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzY2LWQyYzI4MTI3LTI4MWYtNGNhNy1hYjEyLWM0ZTk2Mjk0N2I3YS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZTlmNmRhNTg0ZmU4YjYyMDE4NThmNzNhNmViOWRjZjIxNmYxM2NjMjM5NThlODQ5NGY0YjZlYmMxNTY0ZmVlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.WIO7XePQf2Yq0iCflaJUpvwXACHdreIiNVuNIdDRBBw)
- Tasks (light theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373744-b87e364d-01d0-4030-a1e0-806fe5d683e5.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzQ0LWI4N2UzNjRkLTAxZDAtNDAzMC1hMWUwLTgwNmZlNWQ2ODNlNS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZTMxYTYyOTFiYmZlNzRhZWZlMTIyYzBkY2Q1NWI2YjZmYzc0NTVlNDI0MzBmODNhYjkyMzgzNzNlMzExYjFhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ap6KSSZ7tEFO9BDaPcRqRw8ijSnwjl9m7Azi9pFgPkQ)
4.1 Tasks (dark theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373822-08bab6be-d1db-4a52-81b5-782127e94f7f.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODIyLTA4YmFiNmJlLWQxZGItNGE1Mi04MWI1LTc4MjEyN2U5NGY3Zi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jMmVjOWJmZmFiYmJkNzZjNzg2OTExZDAzY2FlNjJiZjY3MDk0YmE3MmE1OWFiNzIwNTc3NmVlYjJkODAzZTU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5JoOAtA6sMq8kvJQjy2OQSeQpFoAt0cHyyDn9pED-f0)
4.2 The Library task
![photo](https://private-user-images.githubusercontent.com/116523390/382373882-afaf62f6-da7c-42c0-970a-df16695773a2.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODgyLWFmYWY2MmY2LWRhN2MtNDJjMC05NzBhLWRmMTY2OTU3NzNhMi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZTI1ZWFjZjk0OWYwYjNjM2E5NzRmYTYyZjZkYzYxZGI0MmE3NmVlMzZkMzc3YzBiZTViNDYxNzU0NGRkZWI5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.wI5ofBKYPW5UKdaj-cbiwTUNyu7EDogGGzp4wy-fm5Y)
4.3 The Blood donation task
![photo](https://private-user-images.githubusercontent.com/116523390/382373790-2586243a-1dc1-48ee-81f9-6b9080e7da83.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzkwLTI1ODYyNDNhLTFkYzEtNDhlZS04MWY5LTZiOTA4MGU3ZGE4My5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MzQ1NGM2MTYwNjgyNTk5YzJmMGQwNmRjZWRiMjhmMWM1ZjcwZDEzMDc2MDNkYjJlYzBlMzJjNzAwZWY2Y2FjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RP_zwIrGm5iH305fj1BJdxegTwacUjXpjIAKUEoGNic)
- Shop (lihtk theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373759-a97ae5dd-7260-49ab-adc1-c8627280f158.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzU5LWE5N2FlNWRkLTcyNjAtNDlhYi1hZGMxLWM4NjI3MjgwZjE1OC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iOTk5Y2FkYTFlZmFkYTA5MzE4NmQ3YTg0NDI2M2UzM2E3NjllMDNmMzc3MThhMWMxMjY2NmIzNmJmYTUyOWUxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.4EEG2WRx71wXmZ_c445iIKwf-e17VEaN4t5sXzTwUDE)
5.1 Shop (dark theme)
![photo](https://private-user-images.githubusercontent.com/116523390/382373838-524ed227-37ac-4a31-9337-35b74a8d9b5d.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczODM4LTUyNGVkMjI3LTM3YWMtNGEzMS05MzM3LTM1Yjc0YThkOWI1ZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mOTI1YmNmMjA0MWYwYzg2ZjZmYzZmNzM1NDczZDFmMDRmZjdiODc1MDVhZDMyOTM1YzM4OWFiNzkxMDE5NDIxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.f5qEeQDhJv2MsIO7BtA4nH7Q2CR_xyH0T0WKt8O-akY)
- Gigachad
![photo](https://private-user-images.githubusercontent.com/116523390/382373718-c69cc081-811d-483a-97ea-5e069a49345d.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3NjAxMjQsIm5iZiI6MTczOTc1OTgyNCwicGF0aCI6Ii8xMTY1MjMzOTAvMzgyMzczNzE4LWM2OWNjMDgxLTgxMWQtNDgzYS05N2VhLTVlMDY5YTQ5MzQ1ZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QwMjM3MDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YWU3ZGUyNGZlN2Q0YTIzMmMwMzA4MTY0Y2QxOThiYmY3YTMxYTk4ZjZmZmFlMDgxYTJjMDQ0NGFlZDI4NmM4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RI3zmDQmSSML0SEOHv3P7FjmXmcD61Rl_eZp_TFAaoE)