Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/michaelsipayung/student-registration-api

This is my personal experimentation about using rails 7 as an API only application, test driven develoment, using Json Web Token. For web apps version you can visit https://www.spmb-del.me and the endpoint for the API click link below.
https://github.com/michaelsipayung/student-registration-api

api-only json-api jwt-authentication ruby-on-rails test-driven-development

Last synced: 9 days ago
JSON representation

This is my personal experimentation about using rails 7 as an API only application, test driven develoment, using Json Web Token. For web apps version you can visit https://www.spmb-del.me and the endpoint for the API click link below.

Awesome Lists containing this project

README

        

# University Student Registration API

This is a Rails API application designed to handle student registration for universities. It provides endpoints for creating, updating, and retrieving student registration data. Alternative API documentation on bumb.sh click link below https://bump.sh/decryptcoder/doc/spmb-del.

## Features

- Student Registration: Students can register for the university by providing necessary details.
- Course Enrollment: Registered students can enroll in available courses.
- Student Profiles: Each student has a profile where they can update their details and view their enrolled courses.
- Course Management: Admin users can create, update, and delete courses.
- JWT and Bearer Authentication: The API uses JWT (JSON Web Tokens) for authentication, ensuring secure access to the endpoints.
- API Documentation: The API endpoints are documented using Swagger UI, providing an interactive interface for exploring the API.

## Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

### Prerequisites

- Ruby version 3.0.0
- Rails version 7.1.3
- PostgreSQL or Sqlite3

### Installation

1. Clone the repository:
2. Change into the directory
3. Install the dependencies
4. Setup the database or run migration
6. Start the server

The application is now running at `http://localhost:3000`.

## API Documentation

The API documentation is available at `http://localhost:3000/api-docs`. The documentation provides a detailed description of each endpoint, including the required parameters and the response format. It also provides an interactive interface for making requests to the API.

## Running the tests

Run the test suite using the following command:

1. rails test:controllers
2. rails test:models

## Contributing

We welcome contributions to this project! Please read our [Contributing Guide](CONTRIBUTING.md) for more information.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Example Swagger UI Result
![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/bump.sh.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/curlresponse.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/pmdkresult.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/1.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/2.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/3.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/4.png)

![Image description](https://spacecodemiller.nyc3.cdn.digitaloceanspaces.com/asset-api-only/5.png)