An open API service indexing awesome lists of open source software.

https://github.com/swat1563/drf_social_network

Social network website using DRF as backend, JS and Django as frontend
https://github.com/swat1563/drf_social_network

authentication authorization backend backend-api celery css3 django django-rest-framework docker docker-compose docker-image dockerfile frontend html-css-javascript html5 javascript network postgresql project sqlite3

Last synced: 2 months ago
JSON representation

Social network website using DRF as backend, JS and Django as frontend

Awesome Lists containing this project

README

          

# Social Network Website

```
The idea of this project is to create a simple social network backend that lets users create profiles, make friends, and create posts.
```

## Keywords
- `model`: the models that needed for the requirements and the queries for use it
- `view`: the frontend templates
- `controller`: make api for handel the requests from frontend

### General Considerations:

- [x] Each Feature is a Django app
- [x] All List APIs are paginated.
- [x] Enable admin panel
- [x] Authenticate users using JWT token.
- [x] SQLite for local development Postgresql for production.
- [x] Using Docker for deployment.

### User Requirements

- Every user has a profile.
- [x] model
- [ ] controller
- [x] view
- Users can send friend requests to each other and accept it.
- [x] model
- [ ] controller
- [x] view
- Users can search for each other by name.
- [x] model
- [ ] controller
- [x] view
- Users can create posts & his friends can see it and make comments & likes.
- [x] model
- [ ] controller
- [x] view
- Users can share images with their stories which last for 24 hours. (only friends)
- [x] model
- [ ] controller
- [x] view
- Register Account with username & password
- [x] model
- [x] controller
- [x] view
- Login Account with username & password
- [x] model
- [x] controller
- [x] view
- Change Password
- [x] model
- [ ] controller
- [x] view
- Deactivate Account
- [x] model
- [ ] controller
- [x] view
- Create, edit and search a profile
- [x] model
- [x] controller
- [x] view
- Create, edit and delete Post
- [x] model
- [ ] controller
- [x] view
- Show Recent Posts for user’s friends (posts feed) with comments & likes count
- [x] model
- [ ] controller
- [x] view
- Add or show likes & comments to posts
- [x] model
- [ ] controller
- [x] view
- Send, accept or unfriend Friend Requests
- [x] model
- [ ] controller
- [x] view
- Show My Friends
- [x] model
- [ ] controller
- [x] view
- Mutual Friends
- [x] model
- [ ] controller
- [x] view
- Create a story
- [x] model
- [ ] controller
- [x] view
- Show recent stories for the user’s friends
- [x] model
- [ ] controller
- [x] view
- Each story lasts for 24 hours then it is removed
- [x] model
- [ ] controller
- [x] view

### System Requirements

- Clone the repository
- Docker steps it should be on each frontend and api separately :
- Go to `docker-compose.yml` level on command line
- RUN this command `docker-compose build`
- RUN this command `docker-compose up -d`
- Now you can visit the api site on this [link](http://localhost:8000/) and frontend site on this [link](http://localhost:6123/)
- You can access the administration site on this [link](http://localhost:8000/admin)