Project Details

Too Quirky is an innovative social network that let you chat with people inside the place you are in. Explore the map and register to a place nearby. Take a look at all the people connected there and invite them to a chat. You can start chatting only after the invite is accepted, and all the messages and media are deleted when the chat is closed.

The users profile is highly customizable, with profile images, social links, nickname and much more. The app includes many additional features like favourite users and places, block user functionality, and customizable app settings. You can also change your mood and show other people the reason why you are asking them for a chat. It could be to find new friends, to find some love or even for business.

Information

Client:

Starktech S.r.l.

Date:

December 5, 2021

Function:

Developer

Technologies:
  • flutter
  • angular
  • nodejs
  • graphql
  • docker
Site Link:

tooquirky.com

Availability:
#

Architecture and Technologies

My role in this project was creating the system architecture and developing the entire codebase. The database used is a PostgreSQL with a GraphQL layer provided by Hasura. In addition to queries and mutations, Hasura handles authorizations, roles, permissions and all the cron API calls. The backend is a Node.JS server that exposes all the APIs and includes the authentication system. The mobile app is developed with Flutter, also making use of Firebase to handle the social authentication (Facebook, Google and Apple), chats (with Realtime DB), media storage (with Firestore), push notifications and Crashlytics. Venues managers can ask for premium features to be activated on their account, for example the possibility to broadcast messages to all the people inside their places.

An administration panel has been developed with Angular 11. It is accessible only on the web and only for place managers accounts. A manager can schedule events, check user accesses and other things happening inside his place, and use his premium features. Administrators can log in on the web panel too to manage users and change the app settings and premium features. The web app is based on ngx-admin.

Every system component is dockerized and deployed on DigitalOcean. GitLab pipelines handle the build, packaging and delivery of the containers. Other techonolgies used are Nginx (as a proxy) and Certbot (to handle SSL certificates renewals).