Revert: Bring backend application to its last known working state
This commit reverts the changes made in commitf9b4eb68f1
due to incorrect database schema changes that caused a backend error. The change was made to prepare for a more robust solution that will be implemented in a future commit.Revert "chore: update README.md" This reverts commitf9b4eb68f1
.
This commit is contained in:
13
README.md
13
README.md
@@ -1,5 +1,4 @@
|
|||||||
# dlseitz.dev: A Backend Demonstration
|
# dlseitz.dev: A Backend Demonstration
|
||||||
<a id="top">​</a>
|
|
||||||
|
|
||||||
To learn about the front end of this two-part project, check out [**dlseitz.dev – A Frontend Demonstration**](https://git.dsnet.pro/dereklseitz/dlseitz.dev-frontend/src/branch/main/README.md).
|
To learn about the front end of this two-part project, check out [**dlseitz.dev – A Frontend Demonstration**](https://git.dsnet.pro/dereklseitz/dlseitz.dev-frontend/src/branch/main/README.md).
|
||||||
---
|
---
|
||||||
@@ -42,7 +41,7 @@ To address this, I designed and built a dedicated backend server from scratch. T
|
|||||||
|
|
||||||
The backend is a critical piece of the overall business infrastructure. It's designed to be a long-term asset that not only facilitates client engagement but also serves as a robust demonstration of server-side development skills. This project provides a clear path for future expansion, whether that involves adding new API endpoints for dynamic content, integrating with third-party services, or scaling the database to handle increased traffic. The ultimate vision is to have a professional brand that is built on the values of **accessibility**, **equity**, and **transparency**, and a pipeline for future client work.
|
The backend is a critical piece of the overall business infrastructure. It's designed to be a long-term asset that not only facilitates client engagement but also serves as a robust demonstration of server-side development skills. This project provides a clear path for future expansion, whether that involves adding new API endpoints for dynamic content, integrating with third-party services, or scaling the database to handle increased traffic. The ultimate vision is to have a professional brand that is built on the values of **accessibility**, **equity**, and **transparency**, and a pipeline for future client work.
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
||||||
|
|
||||||
# Core Architecture
|
# Core Architecture
|
||||||
@@ -70,7 +69,7 @@ The process begins when a user submits the contact form on the static frontend.
|
|||||||
|
|
||||||
5. **Confirmation to Frontend:** The backend server sends a response back to the frontend, indicating that the form submission was successful. The frontend then presents a confirmation message to the user, completing the cycle.
|
5. **Confirmation to Frontend:** The backend server sends a response back to the frontend, indicating that the form submission was successful. The frontend then presents a confirmation message to the user, completing the cycle.
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
||||||
|
|
||||||
## Security & Reliability
|
## Security & Reliability
|
||||||
@@ -91,7 +90,7 @@ Finally, to prevent resource exhaustion from denial-of-service (DoS) attacks, th
|
|||||||
|
|
||||||
The integrity and security of the codebase are maintained by the strategic use of **environment variables**. All sensitive information, such as database credentials and API keys, are stored in a separate `.env` file that is kept out of the public codebase and git repository. This practice ensures that confidential data remains secure, even if the code is made public.
|
The integrity and security of the codebase are maintained by the strategic use of **environment variables**. All sensitive information, such as database credentials and API keys, are stored in a separate `.env` file that is kept out of the public codebase and git repository. This practice ensures that confidential data remains secure, even if the code is made public.
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
||||||
|
|
||||||
## Deployment & Infrastructure
|
## Deployment & Infrastructure
|
||||||
@@ -108,7 +107,7 @@ The backend server is deployed within a robust and efficient ecosystem designed
|
|||||||
|
|
||||||
The project is hosted on a cost-effective cloud provider. This decision was a direct response to the initial project constraints, allowing me to deploy a full-stack application with minimal financial investment. Opting for a solution that is both professional and budget-friendly demonstrates a key value of the project: resourcefulness. It shows the ability to provide a complete, real-world solution while adhering to situational constraints. This strategic choice reinforces my commitment to building pragmatic solutions that are not only technically sound but also economically viable.
|
The project is hosted on a cost-effective cloud provider. This decision was a direct response to the initial project constraints, allowing me to deploy a full-stack application with minimal financial investment. Opting for a solution that is both professional and budget-friendly demonstrates a key value of the project: resourcefulness. It shows the ability to provide a complete, real-world solution while adhering to situational constraints. This strategic choice reinforces my commitment to building pragmatic solutions that are not only technically sound but also economically viable.
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
||||||
|
|
||||||
## Issues & Lessons Learned
|
## Issues & Lessons Learned
|
||||||
@@ -127,7 +126,7 @@ The most difficult challenge so far has been migrating from a simple `.env` file
|
|||||||
|
|
||||||
This project has been a valuable exercise in understanding that a full-stack solution is more than just connecting a frontend to a backend. It requires a holistic and integrated approach to software development, where every decision—from the initial architecture to the final deployment strategy—is interconnected. The experience has underscored the importance of anticipating and mitigating infrastructure-level challenges, such as blocked ports, and the necessity of building an application with scalability and maintainability in mind from day one. Ultimately, these struggles and their resolutions have solidified a key lesson: the most effective solutions are not just functional; they are resilient, secure, and thoughtfully planned.
|
This project has been a valuable exercise in understanding that a full-stack solution is more than just connecting a frontend to a backend. It requires a holistic and integrated approach to software development, where every decision—from the initial architecture to the final deployment strategy—is interconnected. The experience has underscored the importance of anticipating and mitigating infrastructure-level challenges, such as blocked ports, and the necessity of building an application with scalability and maintainability in mind from day one. Ultimately, these struggles and their resolutions have solidified a key lesson: the most effective solutions are not just functional; they are resilient, secure, and thoughtfully planned.
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
||||||
|
|
||||||
## Looking to the Future
|
## Looking to the Future
|
||||||
@@ -142,5 +141,5 @@ I plan to add a dynamic blog to the website. This will involve expanding the bac
|
|||||||
|
|
||||||
While the current security measures are robust, I have planned for further enhancements to harden the system against potential threats. A critical next step is to migrate from a simple `.env` file to a dedicated secrets manager. This will ensure that sensitive data, such as API keys and database credentials, are not stored on the file system and are instead accessed securely at runtime. Additionally, implementing an in-depth security monitoring and logging system would provide real-time visibility into application access and potential malicious activity, allowing for a more proactive defense strategy
|
While the current security measures are robust, I have planned for further enhancements to harden the system against potential threats. A critical next step is to migrate from a simple `.env` file to a dedicated secrets manager. This will ensure that sensitive data, such as API keys and database credentials, are not stored on the file system and are instead accessed securely at runtime. Additionally, implementing an in-depth security monitoring and logging system would provide real-time visibility into application access and potential malicious activity, allowing for a more proactive defense strategy
|
||||||
|
|
||||||
[Back to Top](#top)
|
[Back to Top](#dlseitzdev--a-backend-demonstration)
|
||||||
---
|
---
|
Reference in New Issue
Block a user