Code Monkey home page Code Monkey logo

csc-0847's Introduction

Welcome to my profile ๐Ÿ‘‹

I'm Tom, french developer with an unlimited curiosity, passionate by software, devops, and many other things ๐Ÿ“˜
Currently working at Dagger, I'm also working on Open Source project in Quartz.

I love learning new things, right now, I'm on:

  • CI/CD
  • Cryptography
  • Writing cool blogpost

Currently contributing on:

๐Ÿ“ซ How to reach me: [email protected].

Stats

GitHub stats GitHub Streak

csc-0847's People

Contributors

tomchv avatar

Watchers

 avatar

csc-0847's Issues

Develop backend client

Create a backend client using Axios to communicate from the frontend to the backend.

  • Class Client.
  • Retrieve configuration from env.
  • Create methods to call backend.

Dockerize backend

  • Write a Dockerfile to transform backend into a container
  • Write docker-compose to run backend and database locally as in production.

Create List component

  • Create List component
  • Create Student component
  • Store student data in a state
  • Display student data

Add database connection

  • Create MySQL, client
  • Retrieve configuration to the database from the environment
  • Expose client connection
  • Test

Create Frontend in React

Create a simple Typescript React using Material UI to produce a cool UI.

Design requirement

  • The homepage shall display the list of all students stored in the database
  • A button may trigger a form to create a new student
  • A search bar should be used to search by name, last name or student_id

Design

A Mockup may be created to create a good UX using Figma

Develop user model

  • Create User model structure
  • Define CRUD DTO and outputs
  • Add CRUD methods
  • Write tests

Create Add User Form component

  • Create field form component.
  • Create Form pop up.
  • Create Form trigger button.
  • Creat confirmation button.
  • Send data to the backend on click
  • Display error message if there's

Write backend CI/CD

  • Dockerfile build correctly on amd64 and arm64.
  • Make sure GoCode is well written with linter.
  • Postman tests are successful. (Solved by #21)
  • Deploy backend image on push on main when the backend is updated.

Setup React frontend project

  • Create React App.
  • Create Dockerfile to containerize the application.
  • Setup GitHub action to verify the correct build.

Dockerize Frontend

  • Create frontend Dockerfile
  • Test build in CI
  • Build and push to Gcloud Registry on push on main

Create management backend

  • Create simple API to interact with Google Object storage and manage images
  • Create CRUD functions
  • Prepare deployment

Create Search bar component

  • Create a search bar component with 3 properties:
    • student _id
    • name
    • firstname
  • Filter users and update list in real-time.

Create backend in Golang

Create a simple Golang app using Gin-Gonic and Ent to handle the database.

API

Healtcheck

The API shall have a simple /healthcheck that returns status code 200 to
make sure the API is alive.


๐Ÿ’ก Optional: Add Prometheus endpoint for monitoring


Users

The API shall have 4 routes to manage users

  • /users with GET to retrieve all users listed.
  • /users/:id with GET to retrieve a user by its ID.
  • /users with POST to create a new user.
  • /users/id with PUT to update a user.
  • /users/id with DELETE to delete a user.

Database

The application shall manage students with the following data:

  • student_id (unique)
  • firstname
  • lastname
  • email (unique, email pattern)
  • mailing_address (address)
  • gpa (numeric, 0 < gpa < 4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.