Clients Requirement

Clients Requirement

The main purpose of this website is to provide publishing services. The client wanted an application that can publish journals and books on a daily basis. However, the client wanted the following features to be included in the website:

Fast and easy search:

The website is supposed to have hundreds of books. Also, more books will be published and updated regularly on the application. If a user wants to search for any book, the search process should be fast and easy. The client wanted to develop a search feature to quickly identify books with related keywords provided by the user. 

Publishing Services:

When it comes to publishing the book, there are a number of options available. Users can either choose to self-publish their books and journals. They only have to supply readable ebook files. Later the hosting and selling will be done by the website itself. Users can also choose full publishing services. In this users can get complete services based on the type of different packages they choose. The users can also choose for their publication to be available via open access or using the paid access model.

Providing subject options:

There should be a dedicated page on the website to select the categories of subjects. The website is supposed to have users from different academic backgrounds. In such cases, different categories of subjects are listed. From that list, users can choose the subject they are interested in reading.

Our Approach

Our Approach

There are two types of users who are going to visit the website daily. To understand them better we created two different personas. A persona is a great tool that can help you in understanding the user’s goal and needs. Persona is basically a profile of the fictional user. We created two personas for users roles:

Readers persona – Users who will visit websites to read journals and books.

Author’s persona – Users who want to publish their books or journals on the website.

Creating personas helped us very much. It provided us with a detailed analysis of the user’s needs and requirements on the website. With the help of these, we made sure that the website would be useful to each type of user.

Later, we decided to design a login page with three different options. We decided to include more than one option to log in. The three ways included are:

  • If you are already registered on the website, then you can simply enter your email id and password to log in.
  • If you have a passcode, you can simply enter the passcode to log in.
  • If the institute or organization has purchased access to the website resources, you can easily search for your institute and log in.

Now it’s time to prepare the schematics of the website. We used a website wireframe to design the website blueprint. These helped us in making the skeletal framework of the website. With the help of the wireframe, our developers had a better idea of how to make the UI more friendly. Wireframing also helped our client in getting an overview of their website. This helped our developers in making changes in website design if the client raises any objections.   

Also, the data provided to us by the client was huge. When the user searches for something, It takes a very long time to find the particular book or journal which is searched. We parsed the data (which was over 100GB) into a readable format so it is now very fast and reliable.

Problems we faced

Problems we faced

But everything was not a cakewalk for our team. There are certain problems that our team faced along the way. Since the data to be uploaded on the website was huge we had to be extremely careful during our development journey. Even omitting a minute detail may cause problems later ahead. 

The first problem we faced was the huge collection of books and journals. To maintain and upload such a huge amount of data we needed scalable storage. Later more books and journals will be added to the website. We had to make sure that in such cases the website should have an ample amount of storage needed for smooth functioning. 

Another difficult task was to maintain the search speed of the website. There was already a huge amount of data given to us by our client. And more was expected to be added later on. In order to avoid any effect of storage on search speed, we decided to use the best resources available to us. 

How we tackled the problem?

How we tackled the problem?

To deal with these problems our team arranged many sessions together. The brainstorming sessions helped us in identifying the best possible way to implement the idea into reality. After a lot of discussions, it was decided which technologies should be used for the frontend and backend, what will be used for storage and how we will increase the search speed. The detailed analysis of this is listed below:

Frontend development

Everyone loves easy-to-use interfaces. The more complex your website will be, the fewer visitors will visit your site. To create a simple and attractive front end we decided to use ReactJS and NextJs. These modern frameworks worked like a charm. Our team was able to develop an exceptional user interface. 

Backend development

For backend development, we decided to use Java Springboot. Spring Boot is an open-source framework used to create microservices. Spring Boot makes it easy to create stand-alone applications. Another motive to choose Spring boot is that it creates production-ready environments that are completely configurable.

Huge database management

We already had a huge amount of data available to us. And more was expected in the long term. For the database, our team decided to use MongoDB, the most popular database for modern websites and applications. MongoDB can also be used in file systems and supports load balancing and data replication.

Fast search using AWS

To provide a fast search option the best choice was to use Amazon web services. And believe us it was the best decision we made which benefited both our team and our client. Our team used Amazon Elasticsearch because it is easy to deploy and manage. Elasticsearch helped us in storing huge data and it is also a cost-effective solution. With the help of Elasticsearch, we can easily scale the cluster up or down via a single API call in the AWS console.

Final result

Final result

Finally, we were able to create a stunning website having all the necessary requirements. The website was designed with a focus on two personas that is readers and authors persona. The striking features of the websites are:

Subject categories for readers

The subjects were divided into more than 20+ categories such as Pharmacy, Law, Chemistry, History, Computer science, Mathematics, etc. With these, the users can easily select the category of their interest. Afterward, they can read journals and books from the category they have selected. 

Journal Publishing

In this section, the website lets users publish academic journals. These journals belong to different universities, research institutes, and organizations. The journals can be published in two ways. The one way is to publish them in an open-access model which is free for everyone to read. Another way is to publish them via paid access model.

Book Publishing

The website also lets users publish academic and professional books in the English language. Users can publish monographs, textbooks, and other book types. The users will have two options to publish books. They can offer open access to the electronic versions of their books or they can simply choose the book to be distributed by the traditional method.

Conference services

The website also publishes conference proceedings. Users can choose to publish their conference proceedings on the website. The conference proceedings are published online by using the open-access method. However, printed copies of the same can be bought online. The conference proceedings are published in English languages only.

All the above services and solutions are available in three packages: Standard, classic, and premier. The website will charge you depending on the number of pages published and the package chosen by the user. The charges will also depend on the additional services taken by users from the website.

Let's talk about your project!

Learn how Bosc Techlabs Mobile’s product design and app development services can help you build better mobile relationships with your customers. Start a conversation today.

  • +91 77779 65000
  • [email protected]
  • India Office
    501, Shree Ugati Corporate Park, Near Nexa Showroom, Kudasan, Gandhinagar, Gujarat - 382421 India
  • USA Office
    1275 Wild Rd, Van Alstyne, TX 75495

    Bosc Techlabs Mobile needs the contact information you provide to follow up with you about your inquiry. By clicking submit below, you consent to allow us to store and process the personal information submitted above.