update README with detailed docker-compose instructions and improved SQL table creation example

This commit is contained in:
2025-07-01 16:50:18 +02:00
parent 60ba35a94e
commit fd16e8f6b7

View File

@@ -3,14 +3,32 @@ This is an app which I am currently working on...
## How to run? ## How to run?
1. Install docker on your machine 1. Install docker on your machine
2. Then run the docker-compose file and make sure that port ```4000``` and ```3306``` are not in use. 2. Then run the docker-compose file with ```docker compose up -d``` and make sure that ports ```4000```, ```4001``` and ```3306``` are not in use. Also make sure that you are in the root directory, ```login-page```.
3. Then enter the mysql container (exec) with the credentials that you can see in the ```docker-compose.yml``` file and in the ```.env``` file. 3. Then enter the mysql container (exec) with the credentials that you can see in the ```docker-compose.yml``` file and in the ```.env``` file.
4. Then login with the root user with ```mysql -u root -p```, after that enter the password from the ```docker-compose.yml``` file or the ```.env``` file. 4. Then login with the root user with ```mysql -u root -p```, after that enter the password from the ```docker-compose.yml``` file or the ```.env``` file.
5. Then type ```use login_page;``` 5. Then type ```use login_page;```
6. Then create a table with the following scheme (extract from scheme.sql): 6. Then create a table with the following scheme (extract from scheme.sql):
``` sql ``` sql
-- Table structure for the database -- Table structure for the database
CREATE TABLE users ( CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created TIMESTAMP NOT NULL DEFAULT NOW()
);
-- Mock data for users
INSERT INTO users (username, first_name, last_name, email, password)
VALUES
('test1', 'John', 'Doe', 'jdoe@example.com', '1test'),
('test2', 'Alice', 'Smith', 'asmith@example.com', '2test');
```
7. For that, just paste this command in the mysql command line:
``` sql
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT, id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE, username VARCHAR(50) NOT NULL UNIQUE,
first_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL,
@@ -18,13 +36,6 @@ CREATE TABLE users (
email VARCHAR(100) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL,
created TIMESTAMP NOT NULL DEFAULT NOW() created TIMESTAMP NOT NULL DEFAULT NOW()
); );
```
-- Mock data for users 8. If you are confident with sql you can change the mock data, and create your own user.
INSERT INTO users (username, first_name, last_name, email, password)
VALUES
('test1', 'John', 'Doe', 'jdoe@example.com', '1test'),
('test2', 'Alice', 'Smith', 'asmith@example.com', '2test');
```
If you are confident with sql you can change the mock data, and create your own user.