Giter Club home page Giter Club logo

dsc-jss-noida / foss-events Goto Github PK

View Code? Open in Web Editor NEW
122.0 6.0 249.0 536 KB

A simple website with a collection of open-source events happening across the globe. This is a beginner-friendly repository that helps you learn git and contribute to web projects. Happy Hacktober! :octocat:

Home Page: https://fossevents.netlify.app/

License: MIT License

JavaScript 58.91% HTML 22.48% CSS 18.61%
frontend mongodb backend open-source opensource hacktoberfest hacktoberfest2020 html-css-javascript html css

foss-events's Introduction

dschackfest

Foss-Events

Issues PRs Maintenance Forks Stars Watchers Twitter Follow Tweet

A simple website with a collection of open-source events happening across the globe. This is a beginner-friendly repository that helps you learn git and contribute to web projects.

Links

Browser Support

  • Firefox: version 4 and up
  • Chrome: any version
  • Safari: version 5.2 and up
  • Internet Explorer/Edge: version 8 and up
  • Opera: version 9 and up

Technology Stack used:

  • Frontend: HTML5, CSS3, JavaScript
  • Backend: Node.js, Express.js
  • IDE: VS Code
  • Version Control: Git and GitHub
  • Database: MongoDb
  • Hosting: Heroku, Netlify

Slack Channel

chat on slack

GitHub Repository Structure

S.No. Branch Name Purpose
1. master contains the frontend code
2. backend contains all backend code

Get Started

Steps for Contributing

Frontend

  • Fork and clone the Repo by typing the following commands in the terminal
$ git clone https://github.com/your-username/foss-events.git
$ cd foss-events/Frontend
  • Open this folder in your favourite IDE.
  • Run npm install.
  • Run git pull command to sync with remote repo.
  • Move to data folder and open events.json file.
  • Now to add an event to website, add an object with keys same as listed in existing objects in the file.
  • Run npm start for starting server.
  • Save and commit your code.
  • Push to your fork of the repository , navigate to original repository and make a pull request.

Backend

Note: You must have Nodejs installed

  • Fork and clone the Repo by typing the following commands in the terminal
$ git clone https://github.com/your-username/foss-events.git
$ cd foss-events

fork


clone


clone

  • Change Branch using:
$ git checkout backend
$ cd Backend

branch

  • Get connection string from Mongo Atlas by creating a cluster or you can also use your locally installed mongodb
  • You can click here to learn how to connect atlas to you project
  • Create a new file named .env in the Backend folder and copy the format of .env.example file
  • Paste the connection string in the .env file in the DB_CONNECT variable
  • Install node dependencies using:
$ npm install

install

  • To start the server, type:
$ node server

start

  • Make changes to the code(for ex- add an update route)
  • Stage your changes using:
$ git add .
  • Commit your changes using:
$ git commit -m "add any comment"
  • Push the changes to the forked repository using:
$ git push 
  • Navigate to the original repository and make a pull request

Currently working Routes

  • Get Routes:
    • /event - Displays all the events
    • /event/:title - Displays the details of the specific event
  • Post Routes:
    • /users/login - Login Route
    • /users/signup - Signup Route
    • /event/addevent - Route for adding an event

Resources

Happy?? Star โญ this Repo. ๐Ÿคฉ

ForTheBadge uses-git ForTheBadge uses-html ForTheBadge uses-css ForTheBadge uses-js

Made By DSC JSS NOIDA with โค๏ธ



ForTheBadge built-with-love ForTheBadge built-by-developers

Need help? Feel free to contact us @ [email protected]

Connect with us

foss-events's People

Contributors

abhijeet141 avatar akshaysharma008 avatar alik-kumar-ghosh avatar anisha1208 avatar atimabh avatar avi-01 avatar ayush-tiwari57 avatar cape-coder avatar dhairyadutt avatar divyanshkhatana avatar gnikita432 avatar heysujal avatar hritikgupta92 avatar inventor77 avatar ishikajn8126 avatar k-jais avatar kumarishalini6 avatar naman360 avatar paarth17032000 avatar pragativerma18 avatar pranshu6 avatar ratnesh4193 avatar ruchikamuddinagiri avatar rudrakshi99 avatar satcasm avatar shonali2600 avatar shruti3004 avatar shrutiomer avatar tend2infinity avatar yunika-bajracharya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

foss-events's Issues

Link for GSOC event is broken

Describe the bug
The link for the google summer of code is broken and has a typo in it.

Expected behavior
The correct link should open the GSOC website

Additional context
I can fix the broken link. Please assign this issue to me under GSSOC'21 label.

Events that have already started should show "Offline" instead of "Online"

If an open-source event is supposed to start on 1/03/2021 and the present date is 2/03/2021. The event should show offline because the registrations are now closed and students can not apply to it. So, it makes more sense to show "Offline" or "Ended".

Solution-
It can be easily tackled by setting an expiry date as the start date or constantly checking if that day's date is more than the start date.

Create home page

1.there should be a home page through which we can render on main page

I want to add home.html to make project more attractive and in home.html there will be a button which is rendering you in main page.
footer should be more attractive

i want to work on it under gssoc21, can you please assign it to me??

Create a new UI for website

Is your feature request related to a problem? Please describe.
The website has a basic structure and UI, we want contributors to design a new UI that would make website look professional.

Add Google Authentication! Firebase

Is your feature request related to a problem? Please describe.
yes
Describe the solution you'd like

A clear and concise description of what you want to happen.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Hey @deshraj I Raised a Issue , Lets Have a Authentication to make our Website secure and also from privacy free
Google , Github , Facebook and Also with linkedin we can Login or Signup using the auth , we can Grab some datas about the users and Also We can REcommend them Which they are interested in
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Enhancing the Navbar style.

Is your feature request related to a problem? Please describe.
I feel the Navbar should be have a little different CSS styling since the Navbar and the name of the site 'FossEvents' is becoming out of focus as compared to the main container body.

Describe the solution you'd like
I would like to implement the following changes to the Navbar using Bootstrap:
1. Changing the font style, size and centering the name of the site 'FossEvents'
2. Increasing the height of the Navbar to accommodate the changes with clarity

#GSSOC'21

2 links on home page are broken

Describe the bug
2 More Info links are broken , it seems that there is a typo in the links.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://fossevents.netlify.app/
  2. Click on More Info on GIRLSCRIPT SUMMER OF CODE and Google Summer of Code
  3. See error

Expected behavior
It should lead to the correct destination.

Screenshots
image
image

Additional context
Would like to work on in under GSSOC' 21.

button at nav bar with the name "About Foss Event "

Is your feature request related to a problem? Please describe.
Yes, because About page is most important part of any website , I think we should add it.
Describe the solution you'd like
We can add button towards the left of the github icon on nav bar which will direct to it's about page.

I am a participant in GSSOC'21. Please assign me this issue.

Changing a button's color on hover

It would be great if the color of the "More Info" button change on hovering over it.
I want the "More Info" to change its background color new color on hover

It can be resolved by changing CSS
I will be using ":hover" selector to select the button when the user mouse over them, I will change its background-color

@rudrakshi99 I would like to work on this issue, please assign me.

Color change

README.md file enhancement

The README.md file can be enhanced by adding the list of all the open source programs that it is a part of and also its list of contributors.

varying card heights.

Describe the bug
All cards have different heights.

Expected behavior
All cards should be of same height.

Screenshots
Screenshot from 2020-10-04 10-11-35

Desktop (please complete the following information):

  • OS: all
  • Browser all
  • Version all

Smartphone (please complete the following information):

  • Device: all
  • OS: all
  • Browser all
  • Version all

Centralize All Events On the Main Page

The Events look quite sidelined when viewed on a normal PC.
Screenshot_2021-03-07 Foss Events

This can be rectified by centralizing them for adequate viewing on all screens (particularly those with high width)

Create a logo for Foss-Events

Is your feature request related to a problem? Please describe.
We currently don't have a logo, so we would love if contributors design a logo for the website.

Additional context
Logo should be made/design by contributors, we would know if it is copied.

Implement Pagination.

Is your feature request related to a problem? Please describe.
Contributors will add events card which will lead to many cards on a single page which is less manageable.

Describe the solution you'd like
Implement pagination with 10-12 cards on a page.

Adding reminder for events

Is your feature request related to a problem? Please describe.
There is high chance that we can forget the event timing results in missing the event

Describe the solution you'd like
can set reminder for each event

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Removing Hacktoberfest 2020 logo from the readme.

Since Hacktoberfest 2020 is over so there is no need to having it in the readme and also in the About.
Also lines 137 and 141 of readme file, are not needed now.
Plus, the link to check contributions for hacktoberfest 2020 is not working, obviously because maintainers have removed the page.
Hence, I would like to clean the readme file and update it as per requirements of current time. :)

Setup live-server as dev-dependency

Is your feature request related to a problem? Please describe.
For running the website on live-server we need to globally install live-server.

Describe the solution you'd like
Setup package.json and add live-server as development dependency, so that when we run npm install live server gets installed as dependency for foss-events directory (not globally).

Describe alternatives you've considered
Any more other alternative can be used, but first comment down the alternative you want to use.

Transition on hovering card

Describe the bug
Card scales to smaller size when hovered with a transition , and when cursor is removed from the card it scales back to its original size without a transition which kinda looks odd.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ' https://fossevents.netlify.app/ '
  2. Hover on any card.
  3. See error

Expected behavior
Same transition should appear when hovering and removing hover from the card.

Desktop (please complete the following information):

  • OS: All
  • Browser All
  • Version All

Smartphone (please complete the following information):

  • Device: All
  • OS: All
  • Browser All
  • Version All

Add Code of Conduct

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Add favicon.

Is your feature request related to a problem? Please describe.
Unlike other websites, this does not have a favicon.

Describe the solution you'd like
Creating a theme based favicon.

Set Expiraiton time of JWT token

Describe the bug
Set expiration time of JWT token to 15mins

To Reproduce
Steps to reproduce the behavior:
In Postman:

  1. Generate JWT token by going to the path - "/users/login"
  2. Notice that the generated JWT token never expires

Expected behavior
Set the expiration time of JWT token to 15 mins. After 15 mins, the token should expire and the user should not be able to access the protected routes

improving the header, cards, footer and adding dark mode

Hey. I am a GSSoC'21 participant. I would like to contribute to the project by adding the following things to the website:

1) Improving the header style and adding for buttons with functionality.
2) Improving the cards style and adding "change color during hover" functionality.
3) Improving the footer with more info.
4) Adding dark mode to the website.

Please assign me this project.

I would like to add archive feature on this project.Please assign me this under GSSOC'21 participant.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Implement Delete Route

Is your feature request related to a problem? Please describe.
Contributors will add a delete route for the event

Describe the solution you'd like
The route will be as follows;

  • Path- "/event/:title"
  • Method- Delete
  • Details- Users will be able to delete a particular event using this route

Note: This will be an authorized route

Update the Events

Describe the bug
A clear and concise description of what the bug is.
There are events still present whose deadline is already passed I will like to delete all those issues whose end date is passed.

To Reproduce
Steps to reproduce the behavior:

  1. See the https://fossevents.netlify.app/ for Eg :- first program which is already over !!

Expected behavior
A clear and concise description of what you expected to happen.

I expect that there should be future events so will not lead to misconception !!

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [Win]
  • Browser [Mozilla Devlopers Edition]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
No for now I think we can just update the sequence and later on will think for improvement !!

Adding Outreachy program to your list of events

Is your feature request related to a problem? Please describe.
Outreachy provides remote internships. Interns work for experienced mentors from open source community.

Describe the solution you'd like
I would like to add Outreachy internships as a part of your list of events . Outreachy's goal is to increase diversity in open source
this is the link to their website: "https://www.outreachy.org/"

Additional context
I am a GSSOC'21 participant and would like to be assigned this issue under the label of GSSOC'21.

Implement Update Route

Is your feature request related to a problem? Please describe.
Contributors will add update route for the event

Describe the solution you'd like
The route will be as follows;

  • Path- "/event/:title"
  • Method- Update
  • Details- Users will be able to update a particular Event title, Event Date, Website and other details using this route

Note: This will be an authorized route

Search/Filter feature

Is your feature request related to a problem? Please describe.
Website will contain many events , so it would be difficult to find a particular event.

Describe the solution you'd like
Implement a search/filter feature on the basis of name of the event.

Improve more info buttons.

Is your feature request related to a problem? Please describe.
Not really, but the existing buttons look boring.

Describe the solution you'd like
I want to add animation to the buttons.

[GSSoC'21] Invalid date format in events.json

Describe the bug
The date format in events.json is invalid somewhere it is dd/mm/yy and in some sections, it's dd/mm/yy with time.
To Reproduce
Steps to reproduce the behavior:

  1. Go to 'foss-event' folder
  2. Open the 'frontend' folder
  3. Move to 'data/events.json.'
  4. See error

Expected behavior
The date format should be MM/DD/YYYY in events.json

Adding Social media links

Hey! I am a participant in GSSOC'21. I would like to make this contribution by making a social media sidebar for the site with attractive icons which will hold the links to your social media handles. Please, consider! And assign it to me so that I can start working on it at the earliest.

Implement Logout Route

Is your feature request related to a problem? Please describe.
Implement a working logout route

Describe the solution you'd like
On going to the logout route, the JWT token should be destroyed and the user would not be able to access protected routes.
The route should be: '/users/logout'. You could make a new file named logout.js in the users folder and implement logout route there

Add contributing guidelines

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

[GSSOC'21] Add events to events.json file

Description

Since everyone is creating a separate issue regarding adding each and every event. I have created an issue for all the upcoming addition of events so that all the events PR will be located under the same issue and will be easy to review.

Format for event.json

{
"title": "TITLE OF THE EVENT",
"website": "WEBSITE OF THE EVENT",
"start": "DATE IN MM/DD/YYYY FORMAT",
"end": "DATE IN MM/DD/YYYY FORMAT",
"organisation": "ORGANISATION NAME",
"location": "ONLINE or OFFLINE MODE"
}
Note: Date should be in MM/DD/YYYY format

Revamp the project using React JS

Is your feature request related to a problem? Please describe.
As this a pure static site with just outputting the data from events.json file, I could see alot of js code written that manipulates the dom. Also the styling for cards has the property cursor: pointer, but has no onclick event assigned.

Describe the solution you'd like
I would like to build the same project using React and maintain minimalistic UI using framer motion and bootstrap.

Describe alternatives you've considered
Even Gatsby JS can be used instead of React JS if it's 100% static.

Additional context

  • We can remove the cards dynamically if the end date is over.
  • We can let hosts signup and register their event(like open source or any hackathons) and later the team can review the event and approve to display on the website. (We will then need backend also but not a big issue, I can handle the stuff).

#GSSOC21

Request for 'Add event' button which will redirect to a form to fill the event details.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
There should be an add event button on the homepage,
Describe the solution you'd like
A clear and concise description of what you want to happen.
After clicking the add event button,a form will have to be filled asking for event details, the details will be stored in the db.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.
If there is an option for 'signIn as organizer' then this feature will be in correct flow, this suggestion has been opened as issue #114.

Welcome to DSC HackFest 2020

Hello, Everyone โœจ๐Ÿ™Œ

Thanks for showing your interest in being a part of the DSC HackFest'2020 ๐Ÿ’ฅ

We are super delighted to have you onboard on Foss Events Website ๐Ÿ™Œ

Here are the Mentors for the Project:

Name ๐Ÿง‘โ€๐Ÿ’ป Social Media ๐ŸŒ Github :octocat:
Naman Shankhydhar LinkedIn Github
Ayush Tiwari LinkedIn Github
Pragati Verma LinkedIn Github

Here are 8 Rules, you should be following while contributing to open-source to make your contributions shine during the whole process:

  • Be Nice, Be Respectful to everyone.
  • Make proper commit messages and document your Pull Request well.
  • Always add comments in your code and explain it to the point.
  • Squash your commits before you push them.
  • Always create a Pull Request from a Branch; Never from the Master.
  • Follow proper Code conventions.
  • Issues would be served on a "First Come, First Serve" basis.
  • Code would be reviewed by Mentors before they are merged. Every Pull Request requires 2 Reviews.

Regards,
DSC-JSS-NOIDA (@DSC-JSS-NOIDA) ๐Ÿค—

[Backend]: Setup a response handler for the API

The response handler is a helper function and for that, we can put this under the helper's directory.
The benefit of this is for front-end developers working on this project, for which fetching appropriate data from the endpoint would be easier and well structured.

The Response Handler should be of this structure:

{
    success (Boolean): If the data is successfully retrieved then it should be "true", otherwise it should be "false".
    code (Integer): Appropriate status code of the API call like 501 for bad request, 200 for OK, etc.
    message (String): Message describing the action performed like "Post Created Successfully", "Failed to Create the Post", etc.
    data (Object): Return the data in this field if retrieved successfully, otherwise it should be "null"
}

Can I work on this?

Moving to React on Frontend

As the site is all based on JavaScript wouldn't it be better to move it to the single-page web app using the famous JavaScript Library React it will become fast responsive [GSSOC'21]

Hacktober Fest Live Session

Ready with your suitcase ๐Ÿ’ผ, packed your bags ๐ŸŽ’, and all set to begin this exciting open-source journey!
Wait, but are you still confused ๐Ÿ˜ต about which route to follow?
Don't worry, we've got your back.

DSC JSS brings you a ๐Ÿ˜ƒlive hands-on session to give you a detailed ๐Ÿ—บ roadmap about this Hacktober trip!
Join us to get a full explanation about all your milestones by your own mentors.
What is Hacktoberfest, where and how to contribute, what projects you'll be working on, we've got it all covered!

Come and join us on 4th Oct, 4:00 - 7:00 pm to get all your questions answered.
Visit https://dsc.community.dev/e/mrxx6k/ for more info. RSVP now!!

Adding more open source events

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Addition of GSSoC, GSoC, MLH fellowship to the foss website

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Make it responsive for mobile and tablet devices

Describe the bug
Website becomes mess between medium to x-small devices

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://fossevents.netlify.app .
  2. Resize screen to 767 px and less
  3. See error

Expected behavior

  1. Cards should be aligned properly and not overflow out of the screen.
  2. Footer should not merge with cards.

Screenshots
Screenshot from 2020-09-26 12-20-56

Desktop (please complete the following information):

  • OS: All
  • Browser: All
  • Version: All

Smartphone (please complete the following information):

  • Device: All
  • OS: All
  • Browser: All
  • Version: All

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.