Back to projects
Mobile App React Native NestJS PostgreSQL 2024

Social Network & E-commerce App

A comprehensive mobile platform that merges social networking, e-commerce, and a professional job board, complete with real-time chat and geolocated profiles.

Platform

iOS & Android

Role

Full Stack Mobile Dev

Architecture

Microservices

Status

Completed / Active

Social Network & E-commerce App
Mobile App Interface

Overview

This project describes the architecture, technology stack, and main features of a comprehensive mobile application developed with a robust backend. The system integrates features of a social network, e-commerce platform, and a professional job board.

Key Features & Modules

1. User Management & Profiles

  • Authentication: Registration, login with JWT tokens, and password recovery.
  • Roles and Permissions: Granular access control by assigning specific roles and permissions to users.
  • Multi-purpose Profiles: Custom profiles with photos, descriptions, social links, popularity metrics, and special modes like "seller" for e-commerce.
  • Active Geolocation: Profiles have a search radius in kilometers to show nearby content or people.

2. Community and Social Network

  • Posts: Users can create content with categories, geolocation, and media attachments (images, video).
  • Social Interactions: Full interaction system including Likes, Shares, Favorites, and View counts.
  • Followers: Follow other profiles to receive updates, including handling of "follow requests" for private accounts.
Social Feed
E-commerce Cart

Social feed and E-commerce shopping cart interfaces.

3. E-commerce & Shopping Cart

  • Product Sales: Posts can include wholesale and retail prices, functioning as products.
  • Cart Management: Complete module to add posts to a cart, control quantities, and track cart status.
  • Payments: Registration and control of payments associated with the cart (payment types, amounts, receipts).
  • Delivery Logistics: Shipment management (delivery type, shipping costs, dates).

4. Real-Time Chat & Messaging

  • Chat Rooms: Support for 1-to-1 direct chats and group chats, with admin controls.
  • Messages & Multimedia: Text messages, file exchange, threading (reply to specific messages), and read receipts.

5. Job Board & Professional Network

  • Professional Profiles: An extension of the normal profile focused on work, allowing users to upload a PDF CV and detail their career path.
  • Work Experience: Log of "Studies" and "Work Experience" with positions, companies, and dates.
  • Job Offers: Companies can publish job vacancies with details like salary, schedule, and location.
  • Applications & Favorites: Users can apply directly through the platform. Employers can manage candidate status and save "Professional Profiles" in favorites.
Messaging and Real Time Chat
Professional Networking

Real-time messaging system and professional networking profiles.

Technology Stack

This project uses a modern ecosystem of tools to guarantee scalability and performance.

Backend (app-api)

  • Framework: NestJS (Node.js) for scalable and maintainable API creation.
  • Database & ORM: PostgreSQL managed via Prisma ORM.
  • Authentication: JWT (JSON Web Tokens) and Bcrypt for sessions.
  • Real-time: Socket.io for chat and live notifications.
  • Cache & Tools: Redis to optimize API response, Nodemailer, Fluent-ffmpeg for media, and Expo Server SDK for push notifications.

Mobile Application (app-movil)

  • Framework: React Native powered by Expo and Expo Router.
  • Navigation: React Navigation for structured routing.
  • Geolocation: react-native-maps and expo-location for map and location handling.
  • Multimedia & Storage: Expo modules for AV, Image picking, and compression. AsyncStorage for local caching.
  • Connection: Axios for HTTP requests and Socket.io-client for real-time events.

Interested in learning more about this project? Get in touch with me to discuss custom system development.

Ready to start?

Got a similar project?

I'm available for new projects. Tell me about what you're building and let's see if we're a good fit.

Start a project →