Skip to content

emyrue/contractor_api

Repository files navigation

📖 Contractor Connect API

This API is an ongoing project. It serves as the back-end for a full-stack project that allows users to create accounts and make reservations with contractors. Here is the link to the front-end repository.

🛠 Built With

Tech Stack

Server
Database

Key Features

  • Account creation/modification using Devise gem
  • JWT allows user to remain signed in for two weeks
  • User may register as a contractor
  • User may become an admin by entering a secret code
  • Users may make and edit reservations with contractors
  • Users can leave reviews on contractors
  • Users may like or dislike reviews on contractors
  • App sends confirmation emails
  • User may reset their password

💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

  • Ruby version 3.2.1
  • Rails version >= 7.0.4.3
  • PostgreSQL version 14.8

Setup

Clone this repository to your desired folder by running the following command:

You will need to create your own encrypted credentials file and add these values:

  • devise_jwt_secret_key
  • sendmail_password
  • sendmail_username
  • frontend_app_url
  • admin_code

You will also need to create your own git-ignored master.key file. The sendmail_password and sendmail_username will have to be set up in gmail.

Install

Install this project with:

  • cd contractor_api
  • bundle install
  • rails db:create
  • rails db:migrate

Usage

To run the project, execute the following command:

  • rails s -p 4000

Run tests

Tests are not yet in place. Check back for updates.

👥 Authors

👤 Emily Robertson

🔭 Future Features

  • Admin privileges, such as viewing and managing others' account information

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

📝 License

This project is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published