A Comic Website using Django and Nextjs framework!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
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!!
- Python >=3.9
- Back-end Rest Apis using Django-rest-framework
- Front-end using Nextjs framework
- 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)
-
Clone the repo
git clone https://github.com/onggiabayluon/fullstack-comic-app.git
-
Setting your Mysql root name and password in settings.py file for Mysql, assume you already have Mysql install: ./comicsapis/comicsapis/settings.py
-
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
- cd to the django-apis folder, then run this in git Bash:
./scripts/init.sh
For back-end apis:
-
Running project using runs.sh:
./run.sh
-
Manage data using admin page: /admin
- admin
- 123456
- View apis list: /swagger
For front-end:
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.