DEV Community

Haris Sejmenovic
Haris Sejmenovic

Posted on

What Building Employee Atlas Taught Me About Real Full Stack Development

Introduction

Employee Atlas is an employee management application I built to help companies manage their teams more efficiently. The idea came from noticing how many workplaces still rely on spreadsheets or scattered tools to handle basic employee tasks. I wanted to create something that feels modern, centralized, and easy to use.

With Employee Atlas, companies can hire or remove employees, review leave and clock in requests, and approve promotions or role changes without getting lost in paperwork. On the other side, employees can apply for jobs or submit resignation requests, and even attach a PDF document like a resume or formal notice when needed.

The goal was to make the interaction between companies and employees feel more natural and transparent structured enough to stay organized, but flexible enough to fit how real teams actually work.

Technical overview

Backend: .NET (C#) with Entity Framework Core, following Clean Architecture and using the CQRS pattern for separating commands and queries.

Database: MSSQL

Frontend: Angular Framework(Typescript)

JWT Authentication: Secure login and API access

Email Verification (SMTP): Confirm new accounts

Role-Based Access Control: Flexible, secure permissions based on user roles.

PDF Handling: Attach documents to requests (e.g., job applications or resignations)

Real Time Notifications (SignalR): Instant updates on actions and requests

Docker Support: Consistent environments and easy deployment

Few words about Clean Architecture

Using Jason Taylor’s Clean Architecture template was a game changer for this project. It made getting started so much easier without it, I probably would have spent weeks figuring out how to structure everything myself. The template is intuitive, keeps the code organized, and comes with CQRS built in, so commands and queries were already neatly separated. Working within this structure not only sped up development but also gave me a much clearer understanding of how a well architected backend comes together knowledge that will be very helpful for future projects.

The Clean Architecture template is open source, and I can’t recommend it enough it really kick started the project and kept everything organized. If you’re curious or want to try it yourself, check it out here

What i learned about Full Stack Development

Planning is everything: Building your applications Mockup, Entity Relationship Diagram and splitting your big plan into small tasks makes everything so much easier.

Database design matters: Normalizing tables, handling relationships, and planning for future scalability is a huge deal. You can’t just code and hope it works.

Angular’s steep learning curve: It took a while to get the hang of it, but I’ve grown to really appreciate Angular. It can be tricky at times, but its performance, structure, and excellent documentation make it worth the effort.

Testing is a lifesaver: Writing code without testing leads to headaches, even small checks make a big difference.

Error handling is crucial: Learning to gracefully handle failures, like failed API calls or invalid data, improves both the app’s reliability and the user experience.

Debugging full-stack issues is a different challenge: Sometimes a bug isn’t in your code it’s in how the frontend calls the backend or how the backend returns data. I spent too many hours on issues like this so trust me patience is key.

Thanks for reading

Top comments (0)