https://github.com/ickarakurt/rails-student-mentor-appointment-api
Student - Mentor appointment API with ruby on rails
https://github.com/ickarakurt/rails-student-mentor-appointment-api
api docker rails rails6 rspec
Last synced: 2 months ago
JSON representation
Student - Mentor appointment API with ruby on rails
- Host: GitHub
- URL: https://github.com/ickarakurt/rails-student-mentor-appointment-api
- Owner: ickarakurt
- Created: 2021-05-08T13:33:15.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-24T00:33:00.000Z (about 3 years ago)
- Last Synced: 2025-02-14T07:32:42.534Z (4 months ago)
- Topics: api, docker, rails, rails6, rspec
- Language: Ruby
- Homepage: https://appointment-api-rails.herokuapp.com
- Size: 455 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Mentor Appointment API
 => https://appointment-api-rails.herokuapp.com
### How to run
Firstly, edit **docker-compose.yml** and set ENV variables. After that,
```
docker-compose up -d
``````
docker-compose run web rails db:create
``````
docker-compose run web rails db:migrate
```### Swagger EndPoint
```
/api-docs
```
#### Postman DOC
```
https://documenter.getpostman.com/view/3721602/TzRSgTCg
```#### Postman Collection
```
{project_folder}/api-V1.postman_collection.json
```### Code Coverage Output
```
{project_folder}/coverage/index.html
```
Note : when you run rspec tests, code coverage report will updated.
### Running Tests
##### Running model tests
```
docker-compose run web bundle exec rails testor
docker-compose run web bash
rails t```
##### Running controller tests
```
docker-compose run web bundle exec rspecor
docker-compose run web bash
rspec
```#### Development Decisions
- Used **PostgreSQL** as a database. Because in this project we need relational database.
- Used byebug to debug easily
- Used **JSON web token (JWT)** for authentication
- Used **rswag, rspec-rails, rspec_api_documentation** to use Swagger and RSPEC
- Used **rack-cors** to allow all request sources
- Used **simplecov** to calculate test coverage#### To Do
- Admin dashboard (active admin, administrate etc.)