TBA
Web application for finding friends on the map. Here people can search and add new friends, share their geolocation and see the location of a friend, gather for fun meetings and have a great time.
- Figma
- React
- React Leaflet
- Html
- Scss
- JavaScript (will be moved on Typescript)
- Redux
- Redux-toolkit
- Redux-thunk
- Webpack
- Python 3.11
- Django 4.1
- Djangorestframework 3.14
- Python-dotenv 0.21.1
- Django-filter 22.1
- PostgreSQL 13.0
- Docker
- You can search and add new friends
- You can view your friends location
- You can invite new friends
- You can accept friend requests
- You can remove users from friends
- Admin-zone
Copy the docker-compose.yml and nginx.conf files from the infra folder to the remote server:
cd backend/infra/
scp docker-compose.yml <username>@<IP>:/<address of your project on the server>/
scp nginx.conf <username>@<IP>:/<address of your project on the server>/
# username - username of the server
# IP - public IP address of the server
In the repository settings on GitHub, create environment variables in the Settings -> Secrets -> Actions:
- SECRET_KEY=... # secret key from Django project
- DB_ENGINE=... # indicate that we are working with postgresql
- DB_NAME=... # database name
- POSTGRES_USER=... # login to connect to the database
- POSTGRES_PASSWORD=... # password to connect to the database (set your own)
- DB_HOST=db # name of the service (container)
- DB_PORT=5432 # port to connect to the database
- EMAIL_HOST_USER=[email protected]
- ELASTICEMAIL_API_KEY=... # email integration key
- LOCALHOST=localhost
- LOCALHOST_IP=127.0.0.1
- CONTAINER_NAME=... # name of your container
- DOMAIN=flap.acceleratorpracticum.ru
- SERVER_IP=... # IP of your server
- EVERYONE=0.0.0.0
- This app's using external volume for DB so before you start you should create this volume:
- After that build and launch containers:
For now app is available at localhost
If you'll need any manage.py commands then you'll want to use prefix:
docker-compose exec backend python manage.py *comand*
Admin-zone is available at:
https://your_host/admin/
All available endpoints and responses you can find in documentation:
https://your_host/api/docs/
- GET http://127.0.0.1:8000/api/v1/users/me
- POST http://127.0.0.1:8000/api/v1/users/id/add-friend
- DELETE http://127.0.0.1:8000/api/v1/users/id/delete-friend
- GET {
"id": 5,
"email": "[email protected]",
"username": "kolya",
"first_name": "",
"last_name": ""
}
- POST {
"id": 3,
"email": "[email protected]",
"username": "pasha",
"first_name": "",
"last_name": ""
}
Vladislav Kisaev - PM
Oksana Anikina - UI/UX
| ⭐️ | Frontend | ⭐️ | Backend | ⭐️ | QA |
|---|---|---|---|---|---|
| 1 | Evgeniy Borovikov | 1 | Alsu Saripova | 1 | Dmitrii Udalov |
| 2 | Meerim | 2 | Dmitry Lukonin | 2 | Sergej Bursow |
| 3 | Kirill | 3 | Petr | 3 | Mark Stachev |