Giter Site home page Giter Site logo

jim-hodapp-coaching / refactor-platform-rs Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 2.0 414 KB

A platform designed specifically for software engineering coaches and tech industry leaders to coach and mentor engineers to specific growth outcomes

Home Page: https://refactorcoach.com

License: GNU General Public License v3.0

Rust 94.49% Shell 5.51%
coaching mentoring rust software-engineering coaching-management-system backend

refactor-platform-rs's People

Contributors

calebbourg avatar jhodapp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

gqadonis

refactor-platform-rs's Issues

Fix ability to run tests

Contact Details

No response

What happened?

We are unable to successfully compile the app in test runs.

What is the version of refactor-platform-rs that you're seeing the problem on?

0.3

Any related code to produce this issue and relevant log output.

No response

Research options for login and session storage

Research options for facilitating users ability to log in to the platform and establish and store a user session.

LogRocket's 9 Rust-based authentication options

Definition of done (answers these questions):

  1. Do we rely on backend session storage, browser-based, or hybrid?
  2. How persistent do we need client-side storage to be?
  3. What kind of browser-side libraries do we need to facilitate client-side session storage?
  4. Is there a Rust-based login crate that provides an existing user login API and storage schema?
  5. A proposed solution should use a combination of client-side cookie storage and our existing Postgresql DB

Establish an integration test pattern by writing a single test

This task seeks to establish an integration test pattern at the backend API endpoint interface.

Helpful items:

  1. Consider using httpc-test crate for endpoint testing
  2. Research and discuss use of a real test database vs use of a mock database provided by seaORM (note: some areas will be ripe for real DB, some ripe for mock DB)

Definition of Done:

  1. Successfully seed a test database
  2. Assert expected data on the /organization endpoint using the test data

Create other base Entity schemas

Create the follow other Entity schemas needed for core platform data model functionality and relationships to work correctly:

  • Coaches_Coachees
  • Coaching_Sessions
  • Notes
  • Actions
  • Agreements
  • Overarching_Goals

Also make sure that all existing entities are up to date with the latest DB schema definition:

  • Users
  • Organizations

[Bug]: Update Organization endpoint returns a '405' status

Contact Details

[email protected]

What happened?

Sent an update request to the organization endpoint and received a 405 - method not allowed response.

What is the version of refactor-platform-rs that you're seeing the problem on?

0.1.0

Any related code to produce this issue and relevant log output.

To reproduce, 
- start the application with `cargo run -- -t 2 -d [db_url]
- send a PUT request to update an existing organization. e.g.
`curl --request PUT 'localhost:4000/organization/7' \
--header 'Content-Type: application/json' \
--data '{
        "name": "Davids Coaching"
}'`
- Results

13:12:17 [DEBUG] (10) hyper::proto::h1::io: parsed 5 headers
13:12:17 [DEBUG] (10) hyper::proto::h1::conn: incoming body is content-length (30 bytes)
13:12:17 [DEBUG] (10) hyper::proto::h1::conn: incoming body completed
13:12:17 [DEBUG] (10) hyper::proto::h1::io: flushed 108 bytes
13:12:17 [DEBUG] (10) hyper::proto::h1::conn: read eof

DB is not updated.

Schema setup instructions in README.md are incorrect

The instructions in README.md for setting up a new user and granting schema permissions for that new user refactor_rs don't give the right permissions needed to successfully perform the up migration.

The failed run looks like:

DATABASE_URL=postgres://refactor_rs:password@localhost:5432/refactor_platform_rs sea-orm-cli migrate up -s refactor_platform_rs
Running `cargo run --manifest-path ./migration/Cargo.toml -- up -u postgres://refactor_rs:password@localhost:5432/refactor_platform_rs -s refactor_platform_rs`
    Finished dev [unoptimized + debuginfo] target(s) in 0.21s
     Running `target/debug/migration up -u 'postgres://refactor_rs:password@localhost:5432/refactor_platform_rs' -s refactor_platform_rs`
Execution Error: error returned from database: no schema has been selected to create in
Fail to run migration

Establish new contributor baseline

Establish baseline items needed to easily guide and onboard new contributors to the project (e.g. documentation additions, setting code patterns, GitHub templates, choose a license, convert repo to public, etc).

Definition of Done:

  1. Project intro in README.md exists (i.e. what is the platform?)
  2. GPLv3 license is put in place in the source tree
  3. GitHub Issue and Pull Request templates are in place
  4. Top documentation that defines what each Rust module is exists
  5. GitHub repository is switched to being public

[Bug]: Delete Organization endpoint returns a '405' status

Contact Details

[email protected]

What happened?

Sent a delete request to the organization endpoint and received a 405 - method not allowed response.

What is the version of refactor-platform-rs that you're seeing the problem on?

0.1.0

Any related code to produce this issue and relevant log output.

To reproduce, 
- start the application with `cargo run -- -t 2 -d [db_url]
- send a DELETE request to update an existing organization.
- Results


13:19:08 [DEBUG] (10) hyper::proto::h1::io: parsed 5 headers
13:19:08 [DEBUG] (10) hyper::proto::h1::conn: incoming body is empty
13:19:08 [DEBUG] (10) hyper::proto::h1::io: flushed 108 bytes
13:19:08 [DEBUG] (10) hyper::proto::h1::conn: read eof

DB is not updated.

Establish basic CI pipeline for builds & tests

Establish basic CI pipeline to build the project and run the tests.

Notes:

  • This will include spinning up a container that contains a real test Postgresql DB instance
  • Reference ambi-rs's GitHub repo for a good GitHub Action example

Definition of Done:

  1. GitHub Action exists for the project that builds development and release profile binaries - this should gate PR merging when failing to build
  2. GitHub Action exists for the project that runs cargo test for all unit and integration tests - this should gate PR merging when failing to pass

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.