This application is a manga aggregator built using Ruby on Rails 7. It allows users to browse, rate, and comment on various manga titles. The application is styled using Tailwind CSS and integrates PostgreSQL for database management.
- An admin panel to upload the mangas
- Distinctive fields to fill the title of the manga being uploaded, the author, date of first publishing, and description of the manga
- Admin can upload the manga from the admin panel
- Feature to upload new chapters whenever the admin desires
- Manga categories to determine the genre of the manga
- Homepage displaying all available mangas with a search bar
- Display trending mangas on the homepage
- View detailed information when a user clicks on a manga
- Users can like and comment on the mangas
- Read mangas in a paginated way with a page read tracker
- Track likes on the manga, users can rate manga out of 5 stars
- Recommend manga to a user based on their past interests in some genre
- Data analytics for the admin to determine which mangas are being read the most by the users and other such details
[email protected] 1234
This application is built with Ruby 3.2.0 and Rails 7.0.0. Ensure you have the correct version installed to run the application.
- Ruby 3.2.0
- Rails 7.0.0
- PostgreSQL 14.x
- Node.js (for managing frontend assets)
- Yarn (for managing JavaScript dependencies)
-
Clone the repository:
git clone https://github.com/varshi45/Manga-Reader.git cd Manga-Reader
-
Install the required gems:
bundle install
-
Install JavaScript dependencies:
yarn install
-
Setup environment variables: Create a
.env
file in the root directory and add the necessary environment variables. Example:DATABASE_URL=postgres://user:password@localhost:5432/manga_aggregator_development
-
Create the database:
rails db:create
-
Run migrations:
rails db:migrate
-
Seed the database with initial data (optional):
rails db:seed
To run the test suite, use the following command:
rails test
- Job Queues: If your application uses background jobs, configure Active Job with your preferred queuing backend (e.g., Sidekiq, Delayed Job).
- Cache Servers: Use caching for improved performance. Configure caching in
config/environments/production.rb
(e.g., Redis). - Search Engines: If implementing search functionality, integrate with a search engine (e.g., Elasticsearch).
-
Prepare the server environment:
- Install Ruby, Rails, PostgreSQL, and other dependencies.
- Configure the server with environment variables and database credentials.
-
Deploy the application:
- Use a deployment tool or service (e.g., Capistrano, Heroku, AWS Elastic Beanstalk).
- Run deployment tasks such as
rails db:migrate
andrails assets:precompile
.
-
Start the application server:
rails server
- For local development, ensure that you have the appropriate version of Ruby and Rails installed.
- Review the
config/environments/*.rb
files for environment-specific configurations. - Consult the Rails Guides for more detailed information on Rails features and best practices.
- Use the
bin/dev
script for starting the development server to ensure CSS is correctly applied.