Symfony exercice. Social duck network
This project aims to develop advanced PHP skills using the Symfony framework while implementing best coding practices. Over the course of 7 days (49 hours), participants will create a basic Twitter-like platform where users can create posts, interact through comments, and authenticate securely.
Framework Discovery and Makers Symfony Basics: Understand Symfony's architecture, folder structure, and tools. Makers: Use Symfony’s maker commands to rapidly scaffold entities, controllers, forms, and routes, accelerating development.
PHP 8.2 Core programming language for the project.
Symfony PHP framework for building the web application.
SQLite Lightweight relational database for data storage.
Bootstrap Frontend framework for responsive design and styling.
User Authentication:
Enable user registration and login. Secure routes and functionalities based on roles.
Creating Posts:
Allow users to write, edit, and delete posts. Display posts in a feed-like layout.
Adding Comments:
Implement comments on posts, allowing users to interact. Enable editing or deleting of comments by their authors.
Database Interaction:
Use Doctrine ORM for seamless database management. Leverage entities and repositories for handling data.
Features Implemented:
Environment Setup and Exploration
Installation of Symfony and discovery of its development environment. Entity Creation and Management
Creation of entities, database migrations, and CRUD operations. Establishing relationships between entities. User Management
Users can create an account, log in, and manage their profiles. Post Management
Users can create, edit, and delete their own posts. Access control ensures users can only modify their own content. Commenting System
Users can comment on posts, fostering interaction within the platform.
Remaining Tasks:
Tags management to finalize
SearchBar input to finalize
Access Control with Voters
Implement fine-grained access control using Symfony Voters. Role-Based Moderation
Introduce moderation features with roles (e.g., Admin, Moderator). Security Enhancements
Strengthen application security and refine user permissions.