Skip to content

WebSolutions2k21/CodersCamp2021.Project.Node

Repository files navigation

CodersCamp2021 - Projekt Node

Trzeci projekt. Tworzenie bazy danych.

Zespół projektowy:

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.

Mentor:

Aleksander Atamańczuk

Uczestnicy:

Diagram ERD

image

Cel projektu

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.

Kod startowy projektu

  1. Nasza aplikacja została wdrożona na Heroku.
  2. 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.

Technologie użyte w projekcie:

  1. TypeScript
  2. Node.js
  3. Express.js
  4. Jest
  5. MongoDB
  6. Joi
  7. Nodemailer
  8. Mongoose
  9. SuperTest

Narzędzia pomocnicze

  • Visual Studio Code
  • Yarn
  • Nodemon
  • Figma
  • Trello

Aby uruchomić aplikację na lokalnej maszynie, wykonaj następujące kroki:

  1. Sklonuj repozytorium.
  2. Otwórz je w ulubionym edytorze.
  3. 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!

  1. Zainstaluj zależności za pomocą komendy: yarn .
  2. Wystartuj serwer za pomocą komendy: yarn dev .
  3. Aby zobaczyć pokrycie testów w kodzie wpisz komendę: yarn test .

Dokumentacja

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

GET http://localhost:5000/project/

Releases

No releases published

Packages

No packages published

Contributors 8