Skip to content

Repository files navigation

DevPost

A React Native mobile application for developers to share posts, connect with others, and discover content. Built with TypeScript and Firebase.

Tech Stack

  • Framework: React Native 0.71.8
  • Language: TypeScript
  • Backend: Firebase (Authentication, Firestore, Storage)
  • Navigation: React Navigation (Native Stack + Bottom Tabs)
  • Styling: styled-components
  • Icons: react-native-vector-icons

Features

  • Authentication - User login and registration via Firebase Auth
  • Home Feed - Browse and discover posts from the community
  • Create Posts - Share content with other developers
  • User Profiles - View and manage your profile
  • Search - Find posts and users
  • Image Support - Upload and share images with posts

Project Structure

src/
├── assets/        # Static resources (images, fonts)
├── components/    # Reusable UI components
│   ├── Header/
│   ├── PostsList/
│   └── SearchList/
├── contexts/      # React Context for state management
├── pages/         # Screen components
│   ├── Home/
│   ├── Login/
│   ├── NewPost/
│   ├── PostsUser/
│   ├── Profile/
│   └── Search/
├── routes/        # Navigation configuration
└── types/         # TypeScript type definitions

Prerequisites

  • Node.js (v16 or higher recommended)
  • npm or yarn
  • React Native CLI
  • Xcode (for iOS development)
  • Android Studio (for Android development)

Setup

  1. Clone the repository
git clone https://github.com/rafaelfernandes98/DevPost.git
cd DevPost
  1. Install dependencies
npm install
  1. Install iOS dependencies (macOS only)
cd ios && pod install && cd ..
  1. Configure Firebase

    • Create a Firebase project at Firebase Console
    • Enable Authentication, Firestore, and Storage
    • Download the configuration files:
      • google-services.json for Android (place in android/app/)
      • GoogleService-Info.plist for iOS (place in ios/)

Running the App

Development Server

npm run dev

Android

npm run android

iOS

npm run ios

Testing

npm test

Linting

npm run lint

License

This project is private and not licensed for public use.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages