Skip to content

A beginner's dive into AdonisJS, featuring a full-stack blog application with authentication and GitHub login.

License

Notifications You must be signed in to change notification settings

Forthtilliath/adonis-blog

Repository files navigation

Adonis Blog

License AdonisJS 6.12 Prisma Bootstrap 5 TypeScript

Version française : 🇫🇷

Introduction

Initial Motivations

This project stems from an intense desire to delve into the world of AdonisJS, specifically version 6, after being captivated by a presentation video. This experience inspired me to actively explore AdonisJS, and I highly recommend this video to those wishing to get started with Adonis: Presentation Video.

Description

This project aims to develop a comprehensive blog, using AdonisJS to manage both the frontend and backend. Among the key features are:

Authentication System : A robust authentication system allowing users to securely log in to their account. Password reset functionality is also available, simplifying the access recovery process for users who forget their credentials.

GitHub Login : A unique login option using a GitHub account, simplifying registration and login for users already present on this platform.

Use of Key AdonisJS Components : The project fully leverages AdonisJS capabilities, including the use of controllers, middleware, models, policies, services, and validators. These components allow for an organized and efficient code structure, facilitating maintenance and future evolution of the project.

Inspiration Source

This project originates from a playlist titled "Adonis V6", created by Houssam, a web development enthusiast. This series of videos sparked a genuine technological curiosity in me, prompting me to experiment and deepen my knowledge in AdonisJS, particularly version 6.

Table of Contents

Main Libraries

This project relies on several essential dependencies for its proper functioning:

AdonisJS : The main framework used for developing both the backend and frontend of the project. It also includes all connected libraries such as Vine for form data validation.

Bootstrap : A CSS library for responsive and mobile-first frontend design.

Marked and Highlight.js : Used for formatting and syntax highlighting of textual content, making the blog attractive and easy to read.

Unpoly : A small JavaScript library for making web pages interactive without resorting to AJAX or jQuery.

TypeScript : A typed programming language that improves code maintainability and productivity.

Installation

To install and run this project locally:

  1. Clone the repository:
git clone https://github.com/Forthtilliath/adonis-blog.git
  1. Navigate to the project directory:
cd adonis-blog
  1. Install dependencies:
npm i
  1. Database creation
node ace migration:run
  1. Start the project:
npm run dev

Skills Acquired

Completing this project constituted my first immersion in the world of AdonisJS. Despite the absence of prior deepening, I was able to:

Start a project with AdonisJS : Taking on my first project with AdonisJS allowed me to understand the basics of its setup and configuration.

Explore Basic Commands : Familiarizing myself with the essential commands of AdonisJS, such as creating models, controllers, and managing migrations, to structure my project.

Understand the Structure of an AdonisJS Project : Navigating through typical folders and files of an AdonisJS project began to grasp the organization and logic behind the framework's structure.

Develop a Full-Stack Web Application: I was able to apply my knowledge to develop a blog, integrating features such as authentication and content management, strengthening my ability to solve practical problems.

These first experiences with AdonisJS were crucial for starting my learning and preparing me to further explore the capacities and best practices of the framework.

About

A beginner's dive into AdonisJS, featuring a full-stack blog application with authentication and GitHub login.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published