Bookora
Bookora is a personal e-commerce platform for book sales where different user roles can add products, manage sales, and track purchasing and shipping workflows.
- Context
- Personal
- Category
- Web
- Period
- Sep 1, 2023 - Oct 1, 2023
Technologies
C# ASP.NET Core MVC 7 Bootstrap HTML CSS JavaScript jQuery Docker Docker Compose Data Annotations Generic Repository Pattern UnitOfWork Pattern DataTables SQL Server Entity Framework Core 7 Code First Role Based Authentication Role Based Authorization jQuery Validation Unobtrusive Toastr SweetAlert Stripe Git GitHub Cloudflare Custom Domain Ubuntu Server
Project Type
- The project is a full stack web application.
- It was developed with the ASP.NET Core MVC project template.
- It is a personal e-commerce project focused on book sales.
Architecture / System Design
- The project consists of two main layers: application and database.
- The application layer represents the web application used by end users.
- The database layer is built with SQL Server.
- The application layer includes Web, DataAccess, Models, and Utility layers.
- This structure separates UI, data access, shared models, and helper utilities into clearer responsibilities.
Technologies Used
- Backend and MVC: C#, ASP.NET Core MVC 7, Entity Framework Core 7
- Database: SQL Server, Code First
- Frontend: Bootstrap, HTML, CSS, JavaScript, jQuery, DataTables
- Architecture and patterns: Generic Repository Pattern, UnitOfWork Pattern
- Validation and security: Data Annotations, jQuery Validation Unobtrusive, role based authentication, role based authorization
- Payment and UI feedback: Stripe, Toastr, SweetAlert
- DevOps and deployment: Docker, Docker Compose, Git, GitHub, Cloudflare, Custom Domain, Ubuntu Server
Key Technical Details and Modules
- Integrated payments with Stripe.
- Added Docker and Docker Compose support.
- Built user interfaces with Bootstrap.
- Listed data with DataTables.
- Used Generic Repository Pattern.
- Handled database operations with Entity Framework Core.
- Managed database migrations with the Code First approach.
- Used UnitOfWork Pattern.
- Used Area and ViewComponent structures.
- Implemented role based authentication / authorization.
Participation and Timeline
- I developed the project independently.
- I took part in the full process from start to finish.
- The project was developed between September 2023 and October 2023.
Project Management / Team Structure
- I used Trello for personal project management and task tracking.
- Since I developed the project alone, there was no separate team structure.
Personal Contributions and Responsibilities
- I am responsible for the entire project.
- The application is currently published on my own physical server running Ubuntu Server.
- I manage all required development, deployment, domain, and infrastructure processes myself.
Deployment Information
- The project is dockerized and its image is hosted on Docker Hub.
- The source code is versioned with Git and publicly available on GitHub.
- Deployment is handled through my own physical Ubuntu Server environment.
- Domain and DNS management are handled through Cloudflare.
- When needed, SSL certificates are managed through Let's Encrypt.