- ๐ About the Project
- ๐ป Getting Started
- ๐ฅ Authors
- ๐ Kanban Board
- ๐ญ Future Features
- ๐ค Contributing
- โญ๏ธ Show your support
- ๐ Acknowledgements
- ๐ License
**HandyHome Hub Back-End" is a Ruby on Rails application that serves as a RESTful API. It utilizes PostgreSQL as its database. This API serves as the server-side component for booking appointments with home service providers, making it easy for users to schedule services such as house cleaning, plumbing, or any other home-related tasks.
This back-end project is designed to seamlessly integrate with its counterpart front-end project ๐๐ฝAppointment-capstone-frontend. The front-end, built with React.js and Redux, consumes the API provided by this back-end to provide a user-friendly interface for booking appointments.
Ruby
Rails
RSpec
PostgreSQL
Swagger
- User authentication: Users can log in to the website using their username.
- User authorization: Users can only access their own appointments.
- Viewing home services: Users can see a list of available home services with details.
- Appointment booking: Users can book appointments with service providers.
- Services management: Service providers ("admin" users) can create, edit, and delete services.
- Enjoy the live version of the API with its front-end counterpart here
In order to run this project you need the following installed locally:
gem install ruby
gem install rails
- Linux:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql
- Clone the repository:
git clone https://github.com/lincoln1883/Appointment-capstone-backend.git
- Install the dependencies:
run bundle install
- Create a master key file in the config folder and add the master key to it. This key is used to decrypt the credentials.yml.enc file. You can use the following command to generate the key:
1. Remove config/master.key and config/credentials.yml.enc if they exist.
2. Run in the terminal: EDITOR=code rails credentials:edit
3. Close the editor that opens.
4. This command will create a new master.key and credentials.yml.enc
if they do not exist.
- Configure the database.yml file with your database credentials
development:
<<: *default
database: your_database_name
username: your_username
password: your_password
port: 5432
test:
<<: *default
database: your_database_name
username: your_username
password: your_password
port: 5432
- Set up the database
rails db:create
rails db:migrate
- Start the server in your favorite terminal:
rails server
- Review the API documentation here: Swagger API Documentation
You can run tests with the following command:
rspec
- Front End: To install the front-end of this project, please visit the Appointment-capstone-frontend repository and follow the instructions in the README.md file.
๐ค Cosmos Hagan
- GitHub: cosmosha
- LinkedIn: cosmoshagan
- Twitter: @hagancosmos
๐ค Ibrahim Hossain
- GitHub: ibugithub
- LinkedIn: ibuu
- Twitter: @mdibrahimibuu
๐ค Jorge Camargo
- GitHub: @jicamargo
- LinkedIn: Jorge Camargo
- Twitter: @ji_camargo
๐ค Lincoln Gibson
- GitHub: lincoln1883
- LinkedIn: lincoln-gibson
- Twitter: @lincolngibson7
๐ค Moyasi Ginko
- GitHub: @MoyasiGinko
- LinkedIn: moyasi
- Twitter: @moyasi_ginko
The project's kanban board is available here
You can see a screenshoot of the initial state of the board below:
- Add categories to services
- Add payment processing
- Add user profiles
- Add user reviews and ratings
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
- If you like this project please give it a โญ๏ธ!
- We would like to thank to microverse For teaching me the database and more things.
- Thank to Murat Korkmaz on Behance for the design of the website ๐๐ฝ.(https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)
- Thanks a lot to everyone who will get time to check this out.
This project is MIT licensed.