Web3 LaunchPad is a PHP CRUD-based Content Management System (CMS) for a fictional client using a variety of the technologies I have learned in the past few months.
The platform is built with PHP, Bootstrap5, SQL, and AJAX.
-
Administrator: Admin users have full control over the CMS, including the ability to manage users, manage content, and oversee site maintenance. They can create, edit, and delete content, as well as manage categories and tags.
-
Registered Users: Registered users can browse and search for content, submit articles, tutorials, and other content to be published on the platform, and interact with other users through comments, upvotes/downvotes, and social sharing options. They can also CRUD their own content. By clicking on their personal avatar, they will have an optimized personal page to share.
-
Visitors: Unregistered visitors can view and search content on the platform, but they cannot interact with other users or submit content. To unlock additional features, they must register for an account.
Support WYSIWYG editing. A few JS WYSIWYG libraries: TinyMCE, CKEditor, Summernote, WYSIHTML5, Quill.
Commit:Embedded CAPTCHAs, like reCAPTCHA
- Add an optional image to the article Cover Image.
- Remove an associated image from a page.
- Images are automatically resized when uploaded.
- Search for specific pages by keyword using a search form.
- Search for specific pages by keyword while limiting the search results to a specific category of pages using a dropdown menu.
- Search results are paginated.
Blogs can be sorted by Date/Title.. by using Javascript
- Usernames & passwords are stored in a users table with CRUD admin access.
- Passwords stored in the user table are encrypted (hashed and salted). Login functionality must also be implemented that supports these hashed/salted passwords.
- Implemented validation rules that are used on the data provided when creating and updating pages.
- Sanitized and validated the numericality of all ids retrieved from GET or POST parameters used in SQL queries.
- Sanitized all strings retrieved from GET or POST parameters to prevent HTML injection attacks.
- BootStrap5
- Create page permalink URLs that include ids and are SEO friendly.