Skip to content

Mechanize (API) assist people fix their car and reach their destination.

License

Notifications You must be signed in to change notification settings

tech-warriors-corporation/mechanize-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mechanize-api

Mechanize (API) assist people fix their car and reach their destination.

We use:

JWT logo

Requirement

Download PostgreSQL to use databases.

Architecture

  • The helpers, services, controllers, repositories, enums and others files should have a suffix in name, example: users_controller.py;
  • Repositories and enums should be named in singular, example: user_repository.py;
  • Files should be in snake_case and class name in PascalCase;
  • Microservices should be in plural name;
  • Use psql -h YOUR_HOST -d YOUR_DATABASE_NAME -U YOUR_USER -p YOUR_PORT to connect in database;
  • Set a script in database needs to run \i script.sql.

Microservices:

Roadmap:

  • Review all topics;
  • Read about blueprints to apply in routes;
  • Use Stock Management (API) as example (remove it in future);
  • Block commits in main branch;
  • Add CORS to correct origin (use CLIENT_ID as solution);
  • Create events to communicate microservices;
  • Verify if controller throw when repository or service throws;
  • Get user tokenized from JWT (PyJWT);
  • Read about add_url_rule;
  • See this Saga architecture pattern example;
  • Create base classes for services, repositories, controllers and others;
  • Connect to development and production databases;
  • Set environment variables and remove hardcoded properties;
  • Create more functions to product;
  • Improve product always;
  • Cancel ticket from driver and mechanic in attending ticket;
  • The mechanic can't create a help (necessary block request);
  • Payment gateway integration;
  • Set HTTPS (version 2);
  • Pay for Render simple plan;
  • QA environment;
  • Implement 2FA;
  • Block IP if user tries a lot of requests in the same endpoint;
  • Use WebSocket;
  • Can not select a ticket that is cancelled or other wrong thing;
  • Configure servers for microservices (urls, environment variables and others);
  • Create our PostgreSQL databases in Render;
  • Get available tickets close from mechanic who is call services;
  • Paginate some requests;
  • Verify if user who is calling endpoint is the user of ticket;
  • Update manual of app;
  • Set URL of API's in GitHub repositories;
  • Validate access token in headers request;
  • Study about Decompose by Subdomain, API Composition, API Gateway and Healthcheck;
  • Remove FOREIGN KEY at databases;
  • Presentation in this link;
  • Layout in Figma;
  • Check all repositories and documentations;
  • Do get of user from id in Accounts microservice;
  • Make service create in Helps microservice;
  • Return user id after create it in Accounts microservice.

Create ticket diagram (pt-BR):

Create ticket diagram (pt-BR)

About

Mechanize (API) assist people fix their car and reach their destination.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published