Activity 50: Keriderya API
STEP 1: Open the link “thirdygayares/keriderya-api”
STEP 2: Fork the GitHub link by clicking “Fork “
Step 3: Create a new fork by having a new repository name
Step 4: After forking it will create a copy in your account
Step 5: Create a folder and name it “act-50
“
Step 6: launch it on cmd
or terminal
Step 7: Clone the forked repository
- click the green button named “code“ then copy the link “https://github.com/FranciscoJohannes/keriderya-api.git“
use this command to clone
git clone https://github.com/FranciscoJohannes/keriderya-api.git
Step 8: Change the directory
to change directory use this command;
cd = change directory
cd then name of the directory/folder
cd keriderya-api
Step 9: Create a virtual environment
use this command to create a virtual environment:
python -m venv myvenv
Step 10: Activate virtual environment
to activate the virtual environment, use this command below:
myvenv\Scripts\activate
Once activated, the terminal prompt changes to show the name of the environment (in this case, (myvenv)
), indicating that you are now working within the virtual environment.
Step 11: Install the requirements given or dependencies
to install dependencies use this command
pip install -r requirements.txt
the command above will install all the listed dependencies inside in given from the forked repository in requirements.txt
Added venv on gitignore
so, adding the venv
directory to .gitignore
is essential to prevent the virtual environment files from being tracked by version control tools like Git. Since the venv
directory contains environment-specific files that are not necessary for the application’s source code, it is a good practice to exclude it from version control to keep the repository clean and reduce clutter.
followed the steps on how to add venv
to the .gitignore
file
Steps to add venv
to .gitignore
, use the command below:
nul > .gitignore
Step 12: Open pycharm and open the folder named “flask-api-with-mysql
“
Step 13: Create a .env
file in the root directory of the forked project
Add the following in the .env
file;
FLASK_ENV=development
DATABASE_URL=mysql://avnadmin:{password}@{host}:{port}/{databasename1}
SECRET_KEY=your_secret_key
Open Aiven log-in and go to service, and replace the placeholders.
go to services and open the existing mysql, if it does not have a existing mysql; go to create services and click mysql then create.
Replace the placeholders:
{password}
: Your database password.{host}
: The host address of your database (e.g., provided by Aiven).{port}
: The port number for the database connection.{databasename1}
: The name of your database.your_secret_key
: A strong, unique secret key for the application.
Step 14: Add certificates (CA certificate)
Certificates are optional if the project or the application requires it (for a secure connection or privacy)
on the forked repo cert is already added, therefore we don’t need to copy a certificate (cert) given by aiven
in the forked repo, we could see the certs directory/folder which is added by the owner of the project and in there we could see the pasted certificate named “
ca.pem
“
Step 15: Upgrade the database or run the database migration
- use the following command to run the database migration in terminal or “
cmd
“
flask db upgrade
the command above upgrades or apply the pending imports or migration from the database:
the “flask db upgrade“ uses the .env file to import the pending migrations
Step 15: Run the flask or “run.py
”
use this command to run “run.py
”
python run.py
after running the run.py
in terminal, copy the link given:
Step 16: Open postman
create a new collection or folder name it
add a request and name it add user or whatever you want
for us to add a user we’ll use POST method:
paste the given url from the “cmd
” or terminal:
to add a user we’ll use the “/users” then go to body and raw section:
type the necessary data and then “click”:
for us to get the user we’ve added we’ll use GET method using its user_id:
beside the link http://127.0.0.1:5000 with the identifier “/users” we’ll add the user_id given by the added user info;
Create another request in postman:
name it get user:
add the link and the /users with the user_uuid
in this case the given user_uuid is “bf0cdae5-a84d-406b-90e8-ab7658cc2611”:
click “send” to get the user info:
there we get the user credentials or info
Github repository link (forked): https://github.com/FranciscoJohannes/keriderya-api