This project is meant to be a teaching/learning tool for junior engineers and people that want to learn how to work in a team.
It is simple enough to finish while also being complicated enough to be interesting and challenging.
This project came up as something that will benefit the members of The Fullstack Network.
This project works best with 2-3 people. You will team up for the project as you wish.
You will create an API to locate and update bike network locations.
Bike network is a company/location to rent bikes around the world. Your website is an index for users to find these networks and also to update information about the network.
Initial data for this project should be grabbed from: here and documentation about this api can be found here.
Server side for this project can be written in any language you'd like and backed by any database.
- Design the schema for the database
- Provide an API to list the networks
- Provide an API to get details on a specific network
- Provide an API to update the available slots in a specific location
- Provide an API to update that a location is closed
- Provide an API to update that a location is not safe for use
- Provide an API to allow users to share reviews on a specific location (no sign in needed).
You should be using the initial citibike API for seeding your data, you should not use it in any other way. In real time, the API should query your database and not communicate with the citybike API.
This means, you will need to create a seeding script that will consume the citibike API and fill your database with initial data in dev.
I wouldn't worry about authentication or security for now, just the initial implementation would suffice. Making sure all the moving parts are in place.
- Display a map of all the networks
-- You can use Google maps for that or any other mapping service you wish.
-- You can use a pre-built library for that. - Clicking on a network will display the stations in the network
-- At this point, the map of the network should be filled with only the locations for the specific network and you should center it around the locations - Clicking on a location will show the location details
-- The displayed content should be in a separate page or open a modal
-- The details should include everything in the citibike API and you should make an effort to make it look nice and be readable - Clicking on a location will allow the user to update the number of available slots
- Clicking on a location will allow the user to update and add reviews on the location
- Clicking on a location will allow a user to mark the network as not safe or closed
You will be required to manage the project on trello. This means that you will create a "task" for every thing you are doing. The more details the better.
You will be judged based on the project management just as much as on the project code.
You code must be open source and be managed on Github. You will create a PR for every feature and mark it clearly with the ticket on Trello. This way we can see if you are on target.
Members should review their own code and get one of the judges to review as well.
If you need to create the project under the-fullstack-network github org, we would love to provide that space for you.
I (KensoDev) will personally mentor the first 3 teams to get organized. Mentoring will include code review and looking over the project management.
Mentoring will also include 1H of hands-on mentoring with the team members. You can bring your questions/comments and we get through them to solve problems.
We will start the project together and discuss how we make it happen in the most efficient way.
In order to nominate your team, please open a PR for this project with the name of your team under the nominations directory.
Give your team a name and name the file with your team name.
- Team members names.
- Link to team members github page
- Usernames on Discord so we can communicate on there
- Link to your trello where you started the planning
Any other information you feel will benefit you, feel free to include.
300$ in Amazon gift cards evenly shared across the team
Fill out this form and you will be contacted.
TBD