https://github.com/marwanradwan7/fleet
Fleet is a social media application.
https://github.com/marwanradwan7/fleet
backend backend-api nestjs postgresql social-media socket-io typeorm typescript
Last synced: 2 months ago
JSON representation
Fleet is a social media application.
- Host: GitHub
- URL: https://github.com/marwanradwan7/fleet
- Owner: MarwanRadwan7
- License: mit
- Created: 2024-01-05T08:48:38.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-02T15:32:12.000Z (about 2 years ago)
- Last Synced: 2025-03-25T11:49:50.176Z (over 1 year ago)
- Topics: backend, backend-api, nestjs, postgresql, social-media, socket-io, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 1.47 MB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fleet
[![Version][version-shield]](version-url)
[![Stargazers][stars-shield]][stars-url]
[![MIT License][license-shield]][license-url]
Fleet is a social media application to share your thoughts, make new fiends and text with your friends
## Docs
- [API Documentation](https://app.swaggerhub.com/apis/MarwanRadwan/Fleet/1.5): list of the application 's backend endpoints.
- [Database Schema](/docs/fleet-db.png): Database Design of the app and it also available in `.dbml` format.
- ### App is Built With:
- TypeScript
- NestJS
- PostgreSQL
- TypeORM
- Redis Caching
- SocketIO
- Cloudinary
## Features
- App comes with following features:
- Protected endpoints either the REST or WebSockets with JWT Tokens.
- Cached Responses for better performance.
- Exceptions and Error handling.
- RateLimiting for the endpoints.
- SQL Injection and CORS protection.
- Users can do the following:
- Posting with the ability to attach media to the posts.
- Find the posts with hashtags they are interested in.
- Comment and like other user's posts.
- Follow other users amd block unwanted users.
- Create public chat groups.
- Chat in public groups or with other users privately.
- Get a feed of posts either from their following users or get the top trending posts based on the overall interactions.
## Installation
```bash
$ npm install
```
## Running the app
The `.env` file should have these environment variables similar to the [example.env](./docs/example.env)
```bash
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
```
## License
Fleet is [MIT licensed](LICENSE).
[version-shield]: https://img.shields.io/github/package-json/v/MarwanRadwan7/fleet?style=for-the-badge
[version-url]: https://github.com/MarwanRadwan7/fleet
[contributors-shield]: https://img.shields.io/github/contributors/MarwanRadwan7/fleet.svg?style=for-the-badge
[contributors-url]: https://github.com/MarwanRadwan7/fleet/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/MarwanRadwan7/fleet.svg?style=for-the-badge
[forks-url]: https://github.com/MarwanRadwan7/fleet/forks
[stars-shield]: https://img.shields.io/github/stars/MarwanRadwan7/fleet.svg?style=for-the-badge
[stars-url]: https://github.com/MarwanRadwan7/fleet/stargazers
[issues-shield]: https://img.shields.io/github/issues/MarwanRadwan7/fleet.svg?style=for-the-badge
[issues-url]: https://github.com/MarwanRadwan7/fleet/issues
[license-shield]: https://img.shields.io/github/license/MarwanRadwan7/fleet.svg?style=for-the-badge
[license-url]: https://github.com/MarwanRadwan7/fleet/blob/main/LICENSE