If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Developing Own CMS: Beginner's Mistake

Started by soniakumari, Mar 06, 2023, 03:26 AM

Previous topic - Next topic

soniakumariTopic starter

Could you please tell me if I made any mistakes or if I made a gross error?



I am a second-year programming and web development student. In order to boost my skills in both frontend and backend development, I decided to take on a freelancing project to create a standard website with article pages and a form submission page.

Upon reviewing the client's old Joomla site, which had not been updated or had any content added to it, I felt that using a free engine was not the best approach. Instead, I chose to create my own engine that could easily manage the website's admin panel and content.

I spent three weeks creating my own northern architecture that implemented basic functionalities such as adding pages, editing content, and sending and editing reviews. I even made a minimal template engine for embedding content based on the page. I also created an instructional video for the client to understand how to manage the site. The project cost $300.

However, a month later, the client got an SEO specialist who told them that all sites should be on WordPress, making them angry with me and accusing me of being a thief and deceiver. They hired someone else to transfer the site to WordPress and blacklisted me.

As a novice coder, I wanted to learn and earn money. I feel ashamed for the mistakes I might have made. Should I continue developing my own engine or should I exclusively work with WordPress? While WordPress is a popular system, there are other systems to consider. It's not easy to create your own system, but it's important to have an understandable code architecture. Maybe I'm on the wrong path, and everything is a deception. It's challenging to stay motivated when you're not appreciated and make errors constantly during the initial stages of your formation.
  •  


Harish

The SEO specialist's statement that all sites should be on WordPress is a foolish one. However, you made a mistake when you chose to create everything from scratch for the sake of self-development on a commercial project. While experimenting is good, it's best to avoid doing so when dealing with client projects. Only experienced professionals who have worked with existing systems for some time can afford to do so, as these systems are already optimized to handle various tasks.

The SEO specialist may have had valid concerns, such as the lack of a sitemap or the inability to implement necessary SEO elements like meta information. Any additional work for the client will now require a significant amount of money.

The lesson here is to experiment in your spare time and gain experience. It's advisable to use existing solutions rather than customizing everything. In addition to WordPress, there are plenty of small and convenient CMS with basic features needed by SEO specialists and easy to work with for programmers.
  •  

behi16

You did a great job and gained valuable experience, so don't worry about the client and their SEO specialist. You will inevitably encounter similar clients in the future. With time, you'll learn how to protect yourself from such situations by having a clear technical specification and ensuring it's agreed upon before starting work.

There's a saying that goes, "To write your first line of good code, you must first write a million lines of bad code." This may include using crutches, creating unsuccessful or abandoned projects, and even riding "bicycles." Everyone goes through this process, so don't be discouraged by any failures.

If you only work with WordPress, you'll never truly learn anything new. While WordPress is a popular platform, it has its limitations. You risk becoming just another template "webmaster" who doesn't stand out much. Always keep learning and trying something new, so that each week brings you some new knowledge, no matter how small.
  •  

Spychandan

If the technical specification included specific requirements for the website, it's important to follow them. However, in simpler orders, clients may not know exactly what they need and may have a hard time understanding the issue at hand.

It's important to use any negative experiences with clients as a learning opportunity. Instead of worrying about who is to blame, focus on how to handle non-standard situations in the future. As you gain more experience and develop your reputation, you'll have more freedom to choose which clients to work with.

At the beginning of your journey, competition may make things difficult, so don't take it personally. It's unnecessary to criticize the SEO specialist, as every site can be promoted in some way. If you feel inclined, you can write a long explanatory letter to the client to clarify what happened without getting into further arguments.
  •  

lStacaec

Consider a car that can only be refueled with a specific type of fuel sold exclusively by one gas station in the city - an absolute monopolist. This illustrates the issue with self-written CMS, where clients become dependent on the developer for all updates, improvements, and changes to the system. Pricing policies and licensing are also determined solely by the author, leaving the user with little control.

In reality, the author of the system can make any decision they please, including shutting down development, selling the system to anyone or even implementing potentially harmful actions. The user has little say in the matter, even when paying for the use of a self-written CMS.

Site security audit is an essential aspect of any system, as it ensures vulnerabilities are detected and resolved before exploitation. However, security audits require expertise from a combination of developers, system architects and security specialists which is not often present in a single person.

While companies can perform audits, they can be expensive and may only disclose vulnerability without providing an adequate solution. Regular audits are necessary, but authors of free self-written CMSs often respond dismissively or require payment for audits. Paid CMSs may conduct audits without addressing issues, risking the loss of curious clients.

It's important to understand the limitations and risks of using self-written CMS, and to consider alternative solutions.
  •  

Nibperlel

When embarking on the development of your own content management system (CMS), it's important to be aware of a multitude of potential pitfalls that beginners commonly encounter. Let's delve into a detailed exploration of these mistakes:

1. Lack of Proper Planning: Successful CMS development begins with a thorough understanding of the system's purpose, target audience, and required functionalities. Inadequate planning can lead to haphazard coding, inefficiencies, and a lack of coherence in the system's architecture. It's vital to develop a comprehensive roadmap and specifications before diving into the actual development process.

2. Ignoring Security: Security should be woven into the very fabric of the CMS from its inception. Failing to implement robust security measures, such as encryption, user authentication, and protection against common vulnerabilities like SQL injection and cross-site scripting, leaves the system vulnerable to unauthorized access and data breaches. Prioritizing security through the use of best practices and rigorous testing is paramount.

3. Limited User Testing: In the rush to bring a CMS to life, beginner developers often underestimate the importance of extensive user testing. Without gathering feedback and insights from potential users, it's challenging to fine-tune the user experience and ensure that the CMS meets their needs effectively. Thorough user testing is essential for iterative improvements and overall usability.

4. Reinventing the Wheel: The allure of building every feature from the ground up can lead to a significant investment of time and effort. Instead, leveraging existing frameworks, libraries, and platforms can streamline development and allow developers to focus on implementing unique and essential features that truly differentiate their CMS.

5. Failure to Future-Proof: It's crucial to consider future scalability and adaptability when crafting a CMS. Inflexible architectures and limited foresight often result in the need to overhaul significant portions of the codebase to accommodate future updates or expansion. Designing with future growth in mind minimizes the need for extensive rewrites down the line.

6. Inadequate dоcumentation: Thorough and comprehensible dоcumentation is often undervalued by novice developers. However, clear dоcumentation is indispensable for facilitating collaboration, easing troubleshooting, and ensuring the maintainability of the CMS over time. A lack of comprehensive dоcumentation can impede future development efforts and hinder the understanding of the system's inner workings.

7. Overlooking Accessibility: Incorporating accessibility features to ensure that the CMS is inclusive for users with disabilities is a critical consideration that is sometimes neglected in the development process. Failing to address accessibility requirements from the outset can result in a CMS that does not conform to accessibility standards, potentially excluding a significant user base. Proactively integrating accessible design principles and features promotes inclusivity and compliance with relevant regulations.
  •  

seind

You went full DIY on a problem that's already solved by WordPress and other mature CMSs. Calling you a thief or deceiver is just a client's frustration, but it's on you for not managing expectations and market realities.

Freelancing isn't just coding; it's about delivering what the client wants, not what you want to build. If you want to survive, learn to deploy and customize WordPress or similar platforms, then maybe build plugins or themes.
  •  



If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...