MostlyWhat / Endeavour

The Open Source Everything App

Home Page:https://endeavour.mostlywhat.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Endeavour

Introducing Endeavour, a social media inspired by Twitter and built with Next.js + TypeScript + Tailwind CSS using Cloud Firestore and Storage.

Live Preview πŸ“Έ

You can see the live website here.

Features ✨

  • Authentication with Firebase Authentication
  • Strongly typed React components with TypeScript
  • Users can add transmits, like, retransmit, and reply
  • Users can delete transmits, add a transmit to bookmarks, and pin their transmit
  • Users can add images and GIFs to transmit
  • Users can follow and unfollow other users
  • Users can see their and other followers and the following list
  • Users can see all users and the trending list
  • Realtime update likes, retransmits, and user profile
  • User can edit their profile
  • Responsive design for mobile, tablet, and desktop
  • Users can customize the site color scheme and color background
  • All images uploads are stored on Firebase Cloud Storage

Tech πŸ› 

Development πŸ’»

Here are the steps to run the project locally.

  1. Clone the repository

    git clone https://github.com/mostlywhat/endeavour.git
  2. Install dependencies

    npm i
  3. Create a Firebase project and select the web app

  4. Add your Firebase config to .env.development. Note that NEXT_PUBLIC_MEASUREMENT_ID is optional

  5. Make sure you have enabled the following Firebase services:

    • Authentication. Enable the Google sign-in method.
    • Cloud Firestore. Create a database and set its location to your nearest region.
    • Cloud Storage. Create a storage bucket.
  6. Install Firebase CLI globally

    npm i -g firebase-tools
  7. Log in to Firebase

    firebase login
  8. Use the project ID

    firebase use endeavour-systems
  9. Deploy Firestore rules, Firestore indexes, and Cloud Storage rules

    firebase deploy --except functions
  10. Run the project

    npm run dev

Note: When you deploy Firestore indexes rules, it might take a few minutes to complete. So before the indexes are enabled, you will get an error when you fetch the data from Firestore.

You can check the status of your Firestore indexes with the link below, replace your-project-id with your project ID: https://console.firebase.google.com/u/0/project/your-project-id/firestore/indexes

Deployment πŸš€

The project is deployed on Vercel.

License πŸ“

This project is not licensed. See the Terms and Conditions for details.

About

The Open Source Everything App

https://endeavour.mostlywhat.com

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 97.8%Language:SCSS 1.2%Language:JavaScript 1.0%Language:Shell 0.0%