I picked the technologies and developed this project on my own in order to get my hands on Angular and C#. It was done as a project assignment for a C# course + project management course. Reservation system seemed like a pretty interesting and fitting topic for a website.
Frontend
- Typescript - Angular
Backend
- C# - ASP.NET
- SQLite + Entity Framework
- Fast Endpoints
The reservation system offers basic functionalities for creating 'services' and 'reservations', and their subsequent management. Any registered user can create a service, any registered user can create a booking/reservation for the service. Service owners can set their weekly time slot schedule, upload images and publish a short description of their services.
There are currently no app-wide settings/customization and everything is built-in.
If the project were to be run in some sort of production, it would require at least a mediocre desktop PC to run the BE servers reliably.
HW requirements:
- Intel-Core i3 10th+ gen CPU
- 64GB+ SSD disk
- 8GB+ RAM
SW requirements
- MacOS/Linux/Windows
- .NET 8.0+ SDK
Backend
- Build C# backend using IDE or the dotnet CLI.
- Publish the backend to a folder using the Publish feature in Visual Studio or the dotnet publish command.
Frontend
- Build the Angular application by running ng build --prod in the terminal.
- The build process creates a dist/ folder containing the production-ready frontend.
- Set up IIS, Apache, Nginx, or any other web server of your choice.
- Configure the server to point to the backend publish folder.
- Ensure the backend can serve the Angular application by setting up the correct routes.
- Upload both the backend and frontend files to your server.
- Build and run your C# backend locally using IDE or the dotnet run command.
- Build the Angular application for a development environment using ng build.
- Use the Angular CLI to serve the frontend by running ng serve.
- Access the application through localhost on the port specified by the Angular CLI or config files.