Giter Club home page Giter Club logo

at-first-sight's Introduction

At first sight!

This repository contains an example of the Telegram Web App, which allows you to find your soulmate literally at first sight! Open an real example in Telegram — @at_first_sight_bot

For users:
  • Create your dating profile, which includes several photos and detailed information about yourself;
  • Evaluate other users who fit your interests and are nearby;
  • See all the users with whom your sympathy turned out to be mutual and continue communicating in the best messenger in the world — Telegram — in one click;
  • Get additional conditions inside the app by buying a Premium subscription right inside the messenger
For developers:
  • Detailed step-by-step instructions for developing a complex multifunctional application that is designed for millions of users;
  • Microservice architecture of the application, where each service performs its own strictly defined task, which can be developed by different people. You will understand exactly what tasks the designer, Backend-developer, Frontend-developer performs and what unites them;
  • A modern stack of technologies for developing the Frontend-part of the application, which is suitable for almost any Telegram Web App, as well as for creating a modern website;
  • An example of the Backend part, which consists of a REST API, working with a database and saving thousands of files. And all this without using any frameworks, the study of which takes a lot of time;

First run of project

This repository has client and server code, but also several infrastructure services, such as a MongoDB database, Minio object storage, and a server for proxying images from this storage. The entire set of services is started with a single command using Docker, but before that you need to create the necessary configuration files (as a rule, this is done only once).

Instruction for first run project

What won't we consider?

Since this repository was created to participate in the Telegram Mini App Contest and the result must be sent on October 10, 2023, then some of the topics will intentionally not be affected by us. They will be quite important if you really intend to create an application for a huge audience of users or assemble a development team for this.

  • Testing — the larger the audience of your application and the wider the capabilities of your application, the more important the testing process becomes. Take this seriously and study this topic, especially in the case when you will provide users with paid features and earn money from it.

  • Performance monitoring — Even a well-tested application may unexpectedly break down due to circumstances beyond your control. You need to set up monitoring of important metrics of your application and set up a notification system if something suddenly starts to differ greatly from the norm.

  • Teamwork — if you plan to actively develop and change the application, then most likely you need to think about selecting a team and setting up a project for teamwork. For example, this may consist in setting up CI/CD pipelines that will allow you to automatically monitor the quality of the code, review the code and automatically deploy it to the servers…

Step-by-step guide how to create Telegram Web App

I always suggest starting the development of a new product (application) with the formulation of the key idea and the values that we will offer to our audience. After that, we should start carefully thinking through all the necessary features that we want to present to users in the first version in order to hook them at first sight!

This whole process can be described in one word — design — and it is the first step in our instructions, which is presented on a separate page.

About author

Yury Kundin

A web developer from Vladimir, who started his way into IT with the development of interfaces, got bored and went further — backend on NodeJS and infrastructure.

In the last year, I have also been interested in participating in the development of a full-fledged product, and not just in writing code. This task is very interesting in this regard, especially considering the fact that I was able to devote only about 3 days to development.

My Social Networks: Telegram, VK, Instagram

You can support this project and send a TON to: UQDfxJZfif_MoaMBzzeUOTenOvpdm78La5LFkAtmzxv11StN

at-first-sight's People

Contributors

kundin avatar

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.