Trzeci projekt. Tworzenie bazy danych.
Zespół pracował w ramach kursu CodersCamp. Aplikację wykonali uczestnicy kursu z pomocą mentora. Zachęcamy do odwiedzenia profili członków zespołu, w celu zapoznania się z ich portfolio.
Celem projektu było stworzenie własnego API, z którego będziemy korzystać w kolejnych modułach kursu. Za pomocą bazy danych możemy stworzyć użytkownika, zalogować się, edytować swoje hasło, tworzyć i usuwać projekty, a także dodawać opinie.
Aplikacja została wykonana według wymagań dostarczonych przez organizatorów CodersCamp.
- Nasza aplikacja została wdrożona na Heroku.
- Biorąc pod uwagę fakt, iż nasza aplikacja jest implementowana przez kilku deweloperów, zdecydowaliśmy się na użycie biblioteki Prettier, służącej do formatowania kodu. Niniejsza biblioteka jest świetnym narzędziem, który wyłapuje błędy składni, automatycznie poprawia linie kodu według zdefiniowanej konfiguracji.
- TypeScript
- Node.js
- Express.js
- Jest
- MongoDB
- Joi
- Nodemailer
- Mongoose
- SuperTest
- Visual Studio Code
- Yarn
- Nodemon
- Figma
- Trello
Aby uruchomić aplikację na lokalnej maszynie, wykonaj następujące kroki:
- Sklonuj repozytorium.
- Otwórz je w ulubionym edytorze.
- Stwórz plik .env i wklej do niego tą treść:
PORT=5000 MONGO_USER = MONGO_PASSWORD = MONGO_DB_NAME = ADDRESSPORT=localhost:5000 <= Tego nie ruszaj! EMAIL= PASSWORD=<your email's password> PASSWORDYAHOO= JWT_PRIVATE_KEY = NODE_ENV=production <= Tego nie ruszaj!
- Zainstaluj zależności za pomocą komendy: yarn .
- Wystartuj serwer za pomocą komendy: yarn dev .
- Aby zobaczyć pokrycie testów w kodzie wpisz komendę: yarn test .
Możesz zobaczyć każdy endpoint w pliku rest.http, natomiast tutaj masz kilka przykładów:
##Rejestracja
POST http://localhost:5000/users/register HTTP/1.1 Content-Type: application/json
{ "username": "samplename", "firstname":"firstname", "lastname":"last name", "email": "[email protected]", "password": "12345678" }
##Logowanie
POST http://localhost:5000/login Content-Type: application/json
{ "email": "[email protected]", "password": "12345678"
}
##Dodawanie projektu
POST http://localhost:5000/project/create Content-Type: application/json
{ "name": "Name of project", "userId": "userID", "mentorId": "mentor ID", "content": "This is a content of project" }
##GetAll