Welcome to the User Test repository! This repository is a comprehensive setup for a project utilizing Go 1.22, Angular 16, and Docker. It's designed to provide a streamlined development environment with all the necessary configurations in place.
- Go 1.22: A popular programming language designed for simplicity and efficiency.
- Angular 16: A platform for building mobile and desktop web applications using TypeScript/JavaScript.
- Docker: A set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers.
- Makefile: used to run basic site dev functionality
- Nginx: used to host angular and the go server
Before you begin, make sure you have Docker installed on your machine. If not, you can download and install it from Docker's official website.
-
Clone the repository:
git clone https://github.com/theCompanyDream/User-Test.git cd User-Test
-
Check for the
.env
file:- The Makefile will automatically check for the existence of a
.env
file. If it's not found, it will create one by copying the.env.example
template. - Ensure that you modify the
.env
file with your specific configurations.
- The Makefile will automatically check for the existence of a
The Makefile includes several commands to manage the development environment:
- dev: Starts the development environment using Docker.
make dev
- restart: Restarts all the services.
make restart
- down: Shuts down the development environment and removes volumes.
make down
- build: Builds or rebuilds services.
make build
- stop: Stops running containers without removing them.
make stop
- test: Runs tests for the User application.
make test
-
Start the development environment:
make dev
This will spin up the necessary Docker containers for the Go backend and the Angular frontend.
-
You can access the application at many different points depending on what your style there is a nginx server that runs at localhost port 80 where you can access at port 80. However the application do run indpendently on frontend on port http://localhost:4200, and api on http://localhost:3000 respectively. One more point is that the api is also accessable at http://localhost/api from the nginx server
-
To make any changes or additions to the project, you can modify the source code in the respective directories for the Go and Angular applications.
-
Run tests to ensure everything is functioning correctly:
make test
-
Once you're done with development, you can stop the services:
make stop
or completely shut down the environment:
make down
Thank you for using the User Test repository! If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.