/fullstack-comic-app

Full Stack COMIC WEBSITE using django-rest-framework and nextjs

Primary LanguageJavaScript


Fullstack Comic website

A Comic Website using Django and Nextjs framework!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

A full-stack webtoon, manhua, manga website, manhwa website, comics website using Next.js | React.js framework as Front-end and Django-rest framwork as Back-end that allow users to post and read comics online, utilize pre-render which dramatically increases page performance

  • The website prioritizes performance, achieving a near-perfect Lighthouse score for page performance.
  • Next.js pre-rendering is utilized with on-demand Incremental Static Regeneration (ISR) to optimize loading times.
  • Admins can re-create new caches whenever they add/update data on the back-end, ensuring that changes are immediately reflected on the front-end.
  • Stripe payment integration allows for secure and streamlined payment processing.

Note: There're some issue regarding the back-end to revalidate the cache for the front-end not working properly!!

(back to top)

Getting Started

Prerequisites

  • Python >=3.9

Technologies

  • Back-end Rest Apis using Django-rest-framework
  • Front-end using Nextjs framework

Functionality

  • Login, logout, signup
  • Comic Views
  • Comment, reply
  • Bookmark
  • Local reading history
  • Rate
  • Payment using Stripe
  • Update User Profile
  • Chapter Free timer (Free after a specific interval time, Ex: 1 week)
  • Chapter Coin (Require coin for reading a chapter)

Installation Back-end using Scripts

  1. Clone the repo

    git clone https://github.com/onggiabayluon/fullstack-comic-app.git
  2. Setting your Mysql root name and password in settings.py file for Mysql, assume you already have Mysql install: ./comicsapis/comicsapis/settings.py

  3. First time setup, Run init.sh Scripts in Git bash, This Script Will:

  • Create and activate venv
  • Install requirements.txt packages
  • Migrate database
  • Create super user
  • Run the project
  1. cd to the django-apis folder, then run this in git Bash:
./scripts/init.sh

(back to top)

Usage

For back-end apis:

  1. Running project using runs.sh:

     ./run.sh
  2. Manage data using admin page: /admin

    • admin
    • 123456

image

  1. View apis list: /swagger

image

For front-end:

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)