Build me a system to search through a PostgreSQL database

  • Status: Closed
  • Prize: £200
  • Entries Received: 2
  • Winner: dev681999

Contest Brief

I need a web interface for a dataset comprising 10M+ rows, which will allow me to search through the data quickly from the browser.

This should be written in .NET or Go (I will provide the dataset as CSV), and dockerized (I want to run docker-compose up and have the system work). I'm happy for just the DB to run in a container for dev exposing it's port on localhost, often quicker that way. But ultimately will be deployed with a single compose comprising the two (db/app).

Query results should be cached and the cached results should be shared between users of the UI. This cache implementation must be threadsafe.

The site frontend should be built using Quasar https://quasar.dev/. TypeScript must be used.

Search should be done on:
- name
- website
- country
- industry
- size

I'll leave it to you to figure out how clever to get with the search.

This dataset is large so I have provided a subset of the data to work with (100k rows of it).

Subject to the winner giving a satisfactory effort there will be more work to do on this system.

Please send a PDF with a link to the completed code on github/gitlab etc.

Recommended Skills

Employer Feedback

“It was odd to run a contest for software system, but Devakanta delivered. He clearly has a good Go ability and a starter boilerplate which allows for quickly scaffolding and building a system. Definitely would recommend.”

Profile image revittconsulting, United Kingdom.

Top entries from this contest

View More Entries

Public Clarification Board

  • gabrielsantos19
    gabrielsantos19
    • 3 years ago

    Could you share your github user?

    • 3 years ago
    1. revittconsulting
      Contest Holder
      • 3 years ago

      Messaging on here laggy - I have solved issue with upgrading docker-compose version

      • 3 years ago
    2. gabrielsantos19
      gabrielsantos19
      • 3 years ago

      Is everything ok? The .csv is only used to init the database, to change it afterwards you need to remove the database volume. Also, the Postgres takes some time to accept connection after been started.

      • 3 years ago
  • dev681999
    dev681999
    • 3 years ago

    I have submitted my entry #2

    • 3 years ago
  • dev681999
    dev681999
    • 3 years ago

    Hi I have started to build the web app.
    Thanks.

    • 3 years ago
    1. dev681999
      dev681999
      • 3 years ago

      There are a lot of issues quasar with TS.

      • 3 years ago
    2. dev681999
      dev681999
      • 3 years ago

      Quasar dosent have much TS definitions.

      • 3 years ago
  • gabrielsantos19
    gabrielsantos19
    • 3 years ago

    The system will be used from multiple computers/browsers?

    • 3 years ago
    1. revittconsulting
      Contest Holder
      • 3 years ago

      Quite possibly in the future. For now keep it simple. No authentication for now.

      • 3 years ago
  • dev681999
    dev681999
    • 3 years ago

    Hi I had doubt, the thing is query results can change if data changes(row updates)
    So in that case cache might not give correct results. So do we want to expire the cache?

    Thanks.

    • 3 years ago
    1. revittconsulting
      Contest Holder
      • 3 years ago

      Manual cache expiry would be fine. Or you could put 15 minutes on it - happy for it to work either way :)

      • 3 years ago

Show more comments

How to get started with contests

  • Post your contest

    Post Your Contest Quick and easy

  • Get tons of entries

    Get Tons of Entries From around the world

  • Award the best entry

    Award the best entry Download the files - Easy!

Post a Contest Now or Join us Today!