https://github.com/mohamedsabry0/reading-hour
Reading time-management app, allows a user to add, edit, and remove groups, time spans(and add them to groups), sharing them with others, with view-only access. Built with Rails on Rails.
https://github.com/mohamedsabry0/reading-hour
rails
Last synced: 2 months ago
JSON representation
Reading time-management app, allows a user to add, edit, and remove groups, time spans(and add them to groups), sharing them with others, with view-only access. Built with Rails on Rails.
- Host: GitHub
- URL: https://github.com/mohamedsabry0/reading-hour
- Owner: mohamedSabry0
- License: mit
- Created: 2020-12-07T17:12:31.000Z (over 4 years ago)
- Default Branch: development
- Last Pushed: 2023-05-01T11:11:27.000Z (about 2 years ago)
- Last Synced: 2025-02-10T21:35:19.628Z (4 months ago)
- Topics: rails
- Language: Ruby
- Homepage: https://obscure-plateau-96513.herokuapp.com/
- Size: 550 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Reading Books Scheduler App With Ruby on Rails
## Table of Contents
- [Reading Books Scheduler App With Ruby on Rails](#reading-books-scheduler-app-with-ruby-on-rails)
- [Table of Contents](#table-of-contents)
- [Deployment](#deployment)
- [User Scenarios](#user-scenarios)
- [Presentation](#presentation)
- [Built With](#built-with)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Author](#author)
- [Acknowledgments](#acknowledgments)
- [🤝 Contributing](#-contributing)
- [Show your support](#show-your-support)
- [📝 License](#-license)## Deployment
the app is deployed on heroku and the link is:
https://obscure-plateau-96513.herokuapp.com/
## User Scenarios
Following MVP version of the app, these are the basic user scenarios:
- Extra feature for login: you can use either username or email along with the password (devise is used for authentication)
- The user is presented with a profile page that includes links to:
- "All my time spans".
- "All my nongrouped time spans".
- "All groups".
- When user opens "All my time spans" page:
- Total amount is displayed at the top.
- A list of all time blocks created by logged-in user is displayed (sorted by most recent).
- Each time block displays its name, amount and date, and an icon of the first group it has been assigned to.
- An action button "Add new" is displayed.
- When user opens "All my nongrouped time spans" page:
- A list of all time blocks that are created by a logged-in user but not assigned to any group is displayed (sorted by most recent).
- The design of the page is similar to the "All my time spans".
- When user opens "All groups" page:
- A list of all groups is displayed in alphabetical order.
- Each group displays its icon, name and creation date.
- Each group is clickable and opens "Group time spans" page.
- An action button "Create new" is displayed.
- The design of the page is similar to the "User profile page"
- When user opens the "Group time spans" page:
- A list of all transactions that belong to that group is displayed.
- The design of the page is similar to the "All my time spans". Besides the information that appears in All my time spans page, each time span displays the name of the author of time span.
- When user opens "Create new group" or "Add new time span" page:- A form with all necessary fields is displayed.
- The guidelines of the given design, including:
- Colors
- typographies: font face, size and weight (use similar ones to the design)
- layout: composition and space between elements## Presentation
[presentation video](https://www.loom.com/share/9218a6ae785b4874936e6ea254b5b307)
## Built With
Ruby v2.7.2
Ruby on Rails v6.0.3.4## Getting Started
To get a local copy up and running follow these simple example steps.
### Prerequisites
Ruby: 2.7.2
Rails: 6.0.3.4
Postgres: >=12.5### Setup
Install gems with:
```
bundle install
```Setup database with:
```
rails db:create
rails db:migrate
```### Usage
Start server with:
```
rails server
```Open http://localhost:3000/ in your browser.
### Run tests
The tests are included in github actions to be executed each push. Here is the link for it:
[tests sorted by most recent execution](https://github.com/mohamedSabry0/reading-hour/actions?query=workflow%3A%22Rails+tests%22)if you want to run them locally you can run the following command:
```
rspec --format doc
```or if you want it to open an instance of the browser you can use the following instead:
```
GUI=true rpsec --format doc
```if you get `password authentication failed for user "postgres"`
then, you will need to change the password in `config/database.yml` on line 62 to your own `postgres` user's password## Author
👤 Mohamed Sabry
- Github: [@mohamedSabry0](https://github.com/mohamedSabry0)
- Twitter: [twitter profile](https://twitter.com/mohsmh0)
- Linkedin: [linkedin profile](https://www.linkedin.com/in/mohamed-sabry0/)## Acknowledgments
- [autocomplete select from list](https://medium.com/@sherzelsmith/add-a-filtering-multiple-tag-system-with-autocomplete-to-your-rails-model-in-rails-5-1bf88cd53e9)
- [the design I used as a guide](https://www.behance.net/gallery/19759151/Snapscan-iOs-design-and-branding?tracking_source=) - [the Designer](https://www.behance.net/gregoirevella)
- https://andycroll.com/ruby/use-simplecov/- [social preview image](docs/social_preview.png) made by [Zlatko Najdenovski](https://www.flaticon.com/authors/zlatko-najdenovski) from [flaticon.com](http://www.flaticon.com/)
## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check the [issues page](https://github.com/mohamedSabry0/reading-hour/issues).
## Show your support
Give a ⭐️ if you like this project!
## 📝 License
This project is [MIT](LICENSE) licensed.