https://best-animal-shelter.herokuapp.com/
Obsługiwane zapytania
- /api/users'
- /api/usersCompany'
- /api/login'
- /api/visits'
- /api/payments'
- /api/volunteerForms'
- /api/animals'
- /api/posts/'
- /api/adoptionforms'
Głównym założeniem tego projektu było stworzenie w pełni funkcjonalnego REST API połączonego ze nierelacyjną bazą danych. Do stworzenia bazy danych wykorzystaliśmy usługę Atlas od MongoDB, korzystaliśmy z metodologii MVC.
- Node.js
- Express.js
- Atlas MongoDB
- Mongoose
- Jest/supertest
- bcrypt
- cookie
- cors
- dotenv
- helmet
- joi
- jsonwebtoken
- multer
- nodemailer
- winston
- Wykonane przez nasz zespół REST API pozwala na obsługę zapytań: GET, POST, DELETE, PUT, PATCH.
- Umożliwia rejestrację oraz logowanie użytkownika.
- Zapewnia hashowanie hasła i bezpieczne jego przechowywanie w bazie danych.
- Umożliwia wysłanie e-maila do użytkownika z informacją o rejestracji.
- Zabezpiecza dostęp do określonych zapytań poprzez autentykacje oraz autoryzacje(dostep tylko dla użytkowników zalogowanych, dostęp tylko dla adminów).
- Dzięki wykorzystaniu kodowania base64 przesyłamy na serwer pliki graficzne, które będą później wykorzystane przez front-end. Dopuszczamy ograniczony rozmiar pliku graficznego.
- Wykonane REST API korzysta z podwójnej walidacji wprowadzanych danych: wbudowanej w mongoose podczas pisania schematu oraz z walidacji poprzez obiekt joi.
- Umożliwiamy dynamiczne wyszukiwanie w zasobach bazy danych np: wyszukiwanie płatności, wyszukiwanie zwierząt itp.
The main assumption of this project was to create a fully functional REST API combined with a non-relational database. To create the database, we used the Atlas service from MongoDB, we used the MVC methodology.
- Made by our team, REST API allows you to handle queries: GET, POST, DELETE, PUT, PATCH.
- Enables user registration and login.
- Ensures password hashing and its safe storage in the database.
- Allows you to send an email to the user with registration information.
- Secures access to specific queries through authentication and authorization (access only for logged in users, access only for admins).
- Thanks to the use of base64 encoding, we send graphic files to the server, which will be later used by the front-end. We allow a limited size of the graphic file.
- Executed REST API uses double validation of input data: built in mongoose when writing the schema and validation through the joi object.
- We enable dynamic search in database resources, e.g. payment search, animal search, etc.
Aby uruchomić testy należy najpierw uruchomić MongoDB Compass. To run the tests, you must first run MongoDB Compass.
- Team Lead: Piotr Bocian,
- Product Owner: Adam Połynka,
- Tech Lead: Szymon Suchodolski,
- Development Manager: Łukasz Żurawski,
- Członkowie zespołu: Jan Eliasz, Klaudia Wojciechowska, Daria Torz.
15/03/2021