Skip to content

Commit

Permalink
docs: update documentation (#37)
Browse files Browse the repository at this point in the history
  • Loading branch information
kentSarmiento authored Dec 26, 2023
1 parent 04b8089 commit 522801f
Showing 1 changed file with 28 additions and 25 deletions.
53 changes: 28 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,31 @@ Link for Later Service provides an API to save links in your personal library fo

## User Features

- User registration/login for a personal library
- Saving of links to library
- Analysis of saved links in library (to add information such as label, category, description, estimated time)

## Deployments

The project is structured into the [Service Library](./link-for-later/) and multiple binaries depending on the option to run/deploy the service

- [Shuttle](./link-for-later-shuttle/)
- [AWS Lambda Function](./link-for-later-lambda/)
- [Standalone server using axum](./link-for-later-axum/) (for local development)

## Getting Started

### Required Downloads

- Docker
- Visual Studio Code
- [Devcontainer extension for vscode](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)

### Setup

1. Clone this repository.
1. Open the repository in Visual Studio Code.
1. Wait for the notification in the bottom right corner asking to `"Reopen in container"`.
- [x] User registration/login for a personal library
- [x] Saving of links to library
- [ ] Analysis of saved links in library (to add information such as category, summary, estimated time to finish reading)

## Development Features

- [`Axum`](https://github.com/tokio-rs/axum) as web application framework
- Multiple deployment options:
- [Shuttle](https://github.com/shuttle-hq/shuttle). Refer [here](./link-for-later-shuttle/) for details.
- [Cargo Lambda](https://www.cargo-lambda.info/) to deploy the service as an AWS Lambda Function. Refer [here](./link-for-later-lambda/) for details.
- Standalone server using axum for local development. Refer [here](./link-for-later-axum/) for details.
- Multiple repository options:
- MongoDB
- InMemory database
- and more coming soon...
- Route authorization using [`jsonwebtoken`](https://github.com/Keats/jsonwebtoken)
- Password hashing using [`argon2`](https://github.com/RustCrypto/password-hashes/tree/master/argon2)
- Mock objects for testing using [`mockall`](https://github.com/asomers/mockall)
- Fixture-based test framework using [`rtest`](https://github.com/la10736/rstest)

## Development Tooling

- A Rust devcontainer for VSCode
- Github actions for CI/CD
- [Clippy](https://github.com/rust-lang/rust-clippy) for linting/static analysis
- [Codecov](https://about.codecov.io/) for coverage metrics
- [DeepSource](https://deepsource.com/) for static analysis/coverage metrics management
- Dependabot for regular dependency updates

0 comments on commit 522801f

Please sign in to comment.