Skip to content

matheusconaga/projeto-println

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

English PortuguΓͺs

πŸ“² PrintLn

A modern social network focused on mobile experience, secure authentication, and cloud services integration.


πŸ“Œ About the Project

PrintLn is a mobile social network developed to offer a seamless content sharing experience, focusing on performance, simplicity, and integration with modern cloud services.

Users can create posts with text and images, interact with their own publications, and utilize native device features such as the camera and geolocation.

Key Features:

  • πŸ” User registration and authentication
  • πŸ“ Create, read, update, and delete (CRUD) posts and comments
  • πŸ“Έ Image upload using camera or gallery
  • πŸ“ Geolocation integration (city/state)
  • ❀️ Real-time publication feed
  • πŸ’Ύ Save posts functionality
  • πŸ‘€ Username and profile picture updates
  • πŸŒ™ Built-in app dark mode
  • πŸ“± Responsive mobile interface

πŸ§ͺ Test Access:

If you want to quickly explore the application without creating an account, use the demonstration login:

E-mail: matheus@gmail.com
Password: 123456

🧠 Core Differentials

  • ⚑ Mobile-first experience
  • πŸ”„ Reactive state management with MobX
  • 🌐 Decoupled architecture (Frontend + Backend API)
  • πŸ“ Hybrid geolocation (Web + Mobile)
  • ☁️ Integration with external cloud services
  • 🧩 Scalable and modular

πŸ“± App Preview

Main Feed Secure Login Profile

Create Post Comments Light Mode

πŸ› οΈ Tech Stack

πŸ“± Frontend (Flutter)

βš™οΈ Backend and Services

🌐 Deployment

🧱 System Architecture

Flutter App (PrintLn)
      ↓
FastAPI (REST Backend)
      ↓
Firebase Auth β†’ authentication
Cloudinary β†’ images
PostgreSQL β†’ data

πŸ’» How to Run the Project Locally

πŸ“± Frontend (Flutter)

Navigate to the project directory:

cd println

Install dependencies:

flutter pub get

Run the app:

flutter run

βš™οΈ Backend (FastAPI)

Navigate to the project directory:

cd api_println

Create a virtual environment:

python -m venv venv

Activate the virtual environment:

.\venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Run the API:

uvicorn main:app --host 0.0.0.0 --port 8000

βš™οΈ Environment Variables

Create a .env file in the root of the api_println directory with the following configuration:

# Cloudinary
CLOUDINARY_CLOUD_NAME
CLOUDINARY_API_KEY
CLOUDINARY_API_SECRET

# Neon
DATABASE_URL

# PyJWT
JWT_SECRET_KEY
JWT_ALGORITHM
JWT_EXPIRE_MINUTES

# Firebase
FIREBASE_API_KEY
FIREBASE_CREDENTIALS_JSON

πŸ“ˆ Future Enhancements

  • πŸ§ͺ Automated backend and frontend testing
  • πŸ” Email password recovery
  • πŸ”” Real-time push notifications
  • πŸ‘₯ Friends, followers, and following system
  • πŸ“° Personalized feed from followed users
  • πŸ” User and publication filters
  • πŸ“Š User metrics dashboard

πŸ“„ License

This project is available for study, portfolio, and learning purposes. Feel free to fork it, enhance the solution, and build new improvements on top of it.

πŸ‘¨β€πŸ’» Author

Matheus Lula

Full-Stack Developer β€’ React β€’ Flutter β€’ FastAPI β€’ AI & Automation

About

Full-stack social network developed with Flutter and FastAPI, featuring secure authentication, real-time feed, image-based posts, comments, geolocation features, and integration with Firebase, Cloudinary, and PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors