Evaluating bids

Php backend using Symfony for Velzon's Angular admin dashboard

Published on the August 02, 2023 in IT & Programming

About this project


Mplementation of a PHP backend using Symfony for a Angular admin dashboard template (Velzon). We require an initial implementation of login functions and a few examples of editing MySQL tables using forms. The goal is to provide us with a well-structured, yet simple, Symfony API for the panel, giving us a head start in the development process. This is an urgent project that needs to be developed within 4-5 days.  If the programmer is familiar with Keycloak, it would be greatly appreciated. In this case, the login system would be implemented using this software, for which we already have an implementation.

Project overview

1. Starting Point: We will provide the Velzon - Angular files (StarterKit) already available on our Debian server and our GitLab repository, accessible in production at admin.bomsucesso.org. We will provide access credentials for a MySQL database dedicated to the Velzon dashboard (database 1) and access credentials for a second MySQL database that contains data for our CRM (database 2). If the developer knows how to implement the login part with Keycloak, it would be greatly appreciated and would eliminate the need for Database 1 We will provide the necessary SMTP email access data required for the basic functionality of the dashboard. 2. Project Requirements 2.1 -Deploy the fully functional Velzon Dashboard - Angular in its most basic form, creating a Symphony backend in PHP that communicates with the database. -The basic dashboard should include features such as login (without using PHP sessions but integrated to sso of keycloak), logout, password change, password recovery, and the ability for users to update their account details (name and international phone number). -Implement granular access control to assign specific permissions to individual users in the future. For example, certain user types should be able to see specific tabs within the dashboard while others cannot. Within the same tab, some users may have access to certain forms while others do not. Some users may have read-only access, while others can modify data as well. -The permission system should be flexible. Instead of using a "roles" system, we have previously worked with a system of tags, which allows defining actions based on tags associated with users (e.g., "Admin" or "support"). -Additionally, the user should be redirected to the login page if they attempt to access a page directly without logging in. -Furthermore, the user session should expire after 3600 seconds of inactivity. -Basic password recovery emails should be functional. 2.2 - Pages: a) Implement all pages related to the login functionality, including informative and error messages such as invalid password, suspended account - contact the administrator, login successful, etc. B) After login, the dashboard should include a module where each user can edit their personal data. C) Create a user management page, only visible to administrators, where they can create and edit users (change name, phone number, password, and permissions) and suspend users, preventing them from logging in. This page should be accessible only to users with administrative permissions. D) Implement another page visible to all users that displays a simple table listing rows from the _campaigns table in database 2 (as an example of utilizing both databases). 2.3 - Customization: -If possible, the dashboard should be in Portuguese, but English is acceptable if it proves challenging. -The dashboard should be named "Bom sucesso." -The background image on the initial screen should be the same as the current website at bomsucesso.org. No other specific layout requirements are provided. 2.4 - Security and Standardization: -The backend development should be well-organized and adhere to the security standards and best practices of Symphony.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: August 14, 2023

Skills needed