Giter Club home page Giter Club logo

beta_social-media-app's Introduction

Social Networking Application (Beta App) Using Python

This project is created with the collabortion of two of my colleagues.

In this project we have created a GUI based social networking application (which we named it Beta) that manages posts and the social media accounts. Below are the requirements for implementing the project:

Requirements:

  1. Manage users, posts, followers, and newsfeed classes.
  2. Create text files that contain information about these classes.
  3. Users are of is two types: Individual and Business users
  4. Users can follow other users in the system
  5. User profile contains basic information: Profile photo, name, short biography, location, and birthdate.
  6. Individual users can post their information in their dashboard.
  7. A post can be live, picture, video, or text.
  8. Followers can like or dislike the post
  9. Business users can add additional information to their profile, such as website link. 10. Business users can also create advertisements
  10. Business users can advertise their products to users’ newsfeed based on their payment plan.
  • Basic plan: 10AED sends to 5 users
  • Silver plan: 30AED send to 10 users
  • Golden plan: 40AED send to 15 users
  1. Newsfeed for a user only displays current week’s posts of the users he/she follows.
  2. User’s newsfeed notifies the birthdays within a week.
  3. Display newsfeed for a user on that date.
  4. Display the users that received the advertisements from the business.

Associated Classes with attributes and functions

Class names Attributes Behaviors
Manager -users: User[]
-posts: Posts[]
-UserFilename:string
-postsFilename:string
+readUsers()
+readPosts()
User + name:string +password:
str +email:str
+ followers:User []
+posts: Posts []
+setname(string)
+getstring(): string
+setpassword(strring)
+getpassword(): string
+getNewsfeed(Newsfeed())
+setemail(string)
+getemail(): string
+setposts[Post]
+getposts(): Post
+setfollowers[User]
+getfollowers(): User
Individual +maritalstatus: (single, married, divorced) +setmaritalstatus(boolean)
+getmaritalstatus():boolean
Business +websitelink: string
+paymentPlan: (Basic plan, Silver plan, Golden plan)
+setwebsitelink(string)
+getwebsitelink(): string
+setpaymentplan(string)
+getpaymentplan(): string
Profile +profile_photo: png
+username: string
+birthdate: DATETIME
+location: string
+ biography: string
+setprofilephoto(png)
+getprofilephoto():
png +setusername(string)
+getusername(): string
+setbirthdate(DATETIME)
+getbirthdate(): DATETIME
+setlocation(string)
+getloaction(): string
+setbiography(string)
+getbiography(): string
Newsfeed + newsfeed= Posts{} + adsfeed= Ads{} + post_hash: (Username:content)
+post_ad: (Business_name: content)
Post +Username: User(name)
+content: (live, picture, video or text)
+like_num: int
+setusername(User)
+getterusername():User()
+setcontent(string)
+getcontent(): string
+setlike_num(int)
+getlike_num(): int
Ads +Business_name:User(name)
+content: [live,picture,video or text]
+ad_link: string
+ posts: Business(paymentPlan)
+setbusinessname(User)
+getbusinessname(): User()
+setcontent(string)
+getcontenxt(): string
+setad_link(string)
+getad_link(): string

Limitations

The individual and business classes could not be displayed in a graphical user interface. We were unable to do so for the advertisements as well. Moreover, we could not create the birthday notification and weekly updated posts.

Files used

  • User.py : user classes
  • Registration.py : register interface that saves the data to txt file
  • User gui.py : the interface of user's newsfeed and account profile, enable the user to like posts and create a post either pic or text
  • Posts.txt : saving file for posts created by user
  • User.txt : saving file for users registered in the app

beta_social-media-app's People

Contributors

semereab-merry avatar

Stargazers

Milkias Zerai Semereab avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.